-1

我有以下代码:

var aaData = myapi.GetData().AsEnumerable().Select(x => new {
                Id = x["myID"],
                Desc = x["myDesc"]                   
            });

尝试执行以下操作

aaData = aaData.OrderBy((string.Join(",", request.Order
.Select(x => request.Columns[x.Column].Data + " " + x.Dir))));

得到错误:

CS0266 无法将类型“System.Collections.Generic.IEnumerable<>”隐式转换为“System.Data.EnumerableRowCollection<>”。存在显式转换(您是否缺少演员表?)

如何解决这个问题?

GetData 返回一个数据表

Request 是一个具有以下属性的对象:

public OrderCol[] Order { get; set; }

OrderCol 是

public class OrderCol {
            public int Column { get; set; }
            public string Dir { get; set; }
        }

感谢你的协助。

上面的代码适用于我返回 List<> 而不是 DataTable 的情况。该错误表明需要 Cast 并且它似乎是 DataTable.AsEnumerable 设置为 EnumerableRowCollection 的方式

可以使用模拟数据表来模仿上述内容

DataTable dt = new DataTable();
 dt.clear();
 dt.Columns.Add("myID");
 dt.Columns.Add("myDesc");
4

1 回答 1

0

我所需要的只是转换为列表,一切正常

于 2020-01-10T22:16:23.140 回答