C# 无法将类型system.Data.EnumerablerRowCollectionIO隐式转换为system.collection.Generic.Ienumerable

C# 无法将类型system.Data.EnumerablerRowCollectionIO隐式转换为system.collection.Generic.Ienumerable,c#,asp.net-web-api,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(); }

这是我的密码

public IEnumerable<TestUser> Getdata()
{
        //return new string[] { "value1", "value2" };
    TestUserBl tstusr = new TestUserBl();
    DataTable dt = new DataTable();
    dt = tstusr.TestUserSel();
    return dt.AsEnumerable();
}
public IEnumerable Getdata()
{
//返回新字符串[]{“value1”,“value2”};
TestUserBl tstusr=新的TestUserBl();
DataTable dt=新的DataTable();
dt=tstusr.TestUserSel();
返回dt.AsEnumerable();
}
获取错误

无法隐式转换类型 “System.Data.EnumerablerRowCollection”到 'System.Collections.Generic.IEnumerable'。 存在显式转换(是否缺少强制转换?)


实际上,
DataTable.AsEnumerable()
提供了错误消息所述的
EnumerablerRowCollection
,如果需要获取特定对象集合,则必须按照以下方式获取该对象:

public IEnumerable<TestUser> Getdata()
{
    // Code here
    return dt.AsEnumerable().Select(x => new TestUser{
                              someId = x.Field<string>("id"),
                             // like wise initialize properties here
                             });
}
public IEnumerable Getdata()
{
//代码在这里
返回dt.AsEnumerable().Select(x=>newtestuser{
someId=x.Field(“id”),
//比如在这里初始化属性
});
}

我只是不在函数中传递任何值。那么这个someId=x.Field(“id”)有什么用呢@AkhilGeorge:这就是数据表的列名,
dt
。您必须将每个列映射/分配到类“this gives me”xmlns=“”>1的相应属性。Akhil如何将此文件类型转换为jsonWhat do
TestUserSel()
method do?