我调用了一个返回 IQueryable 的方法。例如 var x = acDAL.GetData(); 它通过连接它们返回 3 个表数据。例如,我想从此 IQueryable 获取数据
var x = acDAL.GetData();
foreach(var item in x)
{
int id=item.Id;
}
我怎样才能做到这一点?
我调用了一个返回 IQueryable 的方法。例如 var x = acDAL.GetData(); 它通过连接它们返回 3 个表数据。例如,我想从此 IQueryable 获取数据
var x = acDAL.GetData();
foreach(var item in x)
{
int id=item.Id;
}
我怎样才能做到这一点?
你举个例子:
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;
}