无法将类型system.Data.EnumerableRowCollectio隐式转换为System.collection.Generic.Ienumerable

时间:2017-06-02 05:36:32

标签: c# asp.net-web-api

这是我的代码

public IEnumerable<TestUser> Getdata()
{
        //return new string[] { "value1", "value2" };
    TestUserBl tstusr = new TestUserBl();
    DataTable dt = new DataTable();
    dt = tstusr.TestUserSel();
    return dt.AsEnumerable();
}

收到错误

  

无法隐式转换类型   'System.Data.EnumerableRowCollection'到   'System.Collections.Generic.IEnumerable'。   存在显式转换(您是否错过了演员?)

1 个答案:

答案 0 :(得分:2)

实际上DataTable.AsEnumerable()会为您提供EnumerableRowCollection作为错误消息,如果您需要获取特定的对象集合,则必须获取该对象,如下所示:

public IEnumerable<TestUser> Getdata()
{
    // Code here
    return dt.AsEnumerable().Select(x => new TestUser{
                              someId = x.Field<string>("id"),
                             // like wise initialize properties here
                             });
}