c# - 使用动态返回的列绑定(bind)列表

标签 c# list wcf-rest

我正在编写 WCF 服务。根据所选的表,我的 sql 查询的输出每次都会返回不同的列数。我将 sql 查询的结果绑定(bind)到我的列表。现在我不知道如何将列表与动态返回的列绑定(bind)。这是我的服务。

 [WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "MyService")]
    public List<TableList> GetTableListy(Parameters param)
    {
        try
        {
            var myReturnList = new List<LookUpSystemTable>();
            var passedVersionId = int.Parse((param.VersionId));
            var Name = param.Name();              
            var fromDate = param.FromDate.ToShortDateString();
            var toDate = param.ToDate.ToShortDateString();
            string selectedColumnNames = "";
            var PickupList= from t in _TableEntityRepository.AsQueryable()
                                  where t.Name.Equals(Name)
                                  select t.columns;

            var foriegnKeyCol = "k" + Name.Substring(1);

            string columnNames = PickupList.FirstOrDefault();

            if (columnNames != null){
                selectedColumnNames = GetBetween(columnNames.ToUpper(),"SELECT " , " FROM");
                selectedColumnNames = selectedColumnNames.Replace("\n", string.Empty);
            }

                var fromQuery =
                   "select " + selectedColumnNames + "  from  " + tableName  +
                    " t  Where t.FromDate <= '" + fromDate +  "' and  t.Id = " +
                   Id ;


            IEnumerable<MyClass> ListOfTables = Context.Database.SqlQuery<MyClass>(fromQuery);

             foreach (var t in ListOfTables )
                {


                   // How do i assign dynamically created column returned from sqlquery


                }

            }

         return null;
        }

        catch (Exception e)
        {

            throw new WebFaultException<string>(
        string.Format(
            "{0}{1}",
            e.Message, (e.InnerException != null ? e.InnerException.Message : string.Empty)), HttpStatusCode.BadRequest);
        }


    }

我的 TableList 类是

public class TableList 
{
     public int Id { get; set; }
     public string Name { get; set; }
}

最佳答案

您是否探索过 DataTable 的可能性?它允许动态列。

或者通过 SQL LINQ 使用具有动态属性的匿名对象。

Dynamic query data from WCF Data Service to Silverlight Application?

关于c# - 使用动态返回的列绑定(bind)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17418528/

相关文章:

c# - 将 BIG IEnumerable 设置为 ListBox.ItemSsource 的最佳方法

c# - .NET/C# 与 Python 互操作

c# - 在整个应用程序中共享一个随机的卫生方式

c# - List<T> 实例之间的关系

C# WCF JSON WebService 返回 mime 类型 image/png

c# - 动态生成、分组和绑定(bind)单选按钮到枚举

python - 过滤掉较短的子列表

list - 在方案中交叉更多列表

asp.net - 需要开发 RESTful API(JSON 和 XML)

wcf - WCF WebApi 如何将请求 URI 映射到适当的服务类型/操作?