我调用了一个返回IQueryable的方法。例如 var x = acDAL.GetData(); 它通过连接返回3个表数据。我想从这个IQueryable中获取数据,例如
var x = acDAL.GetData();
foreach(var item in x)
{
int id=item.Id;
}
我该怎么做?
答案 0 :(得分:0)
您举例:
var x = acDAL.GetData();
foreach(var a in x) {
int id=a.Id;
}
但大多数情况下,如果已经有效,尤其是因为IQueryable实现了IEnumerable。问题是.Id
你有两个选择:
后者只涉及将示例中的var
更改为dynamic
:
var x = acDAL.GetData();
foreach(dynamic a in x) {
int id=a.Id;
}
前者涉及了解对象 - 尝试a.GetType()以查看它是什么。然后:
var x = acDAL.GetData();
foreach(SomeType a in x) {
int id=a.Id;
}
或者:
var x = (IQueryable<SomeType>)acDAL.GetData();
foreach(var a in x) {
int id=a.Id;
}