我有以下代码:-
public IQueryable GetPerson(int PersonID)
{
var Details = from pers in db.People
where pers.ID == PersonID
select new
{
Name = item.NAME,
Email = item.EMAIL
};
return Details
}
我不想从上面的数据访问代码返回特定类型。
然后我想做这样的事情:
IQueryable Person = dal.GetPerson(PersonID);
PersonEmail = Person.EMAIL; - but this obviously doesn't work ??
关于如何从 Person IQueryable 对象获取字段数据有什么想法吗?
最佳答案
实际上,您不能以任何有用的方式从方法返回匿名类型。您的方法将编译和工作,但您本质上有一个 IQueryable 对象集合,您无法访问其中包含的匿名类型的属性。除非你返回IQueryable<Person>
您根本无法访问返回对象的属性,匿名类型仅在它们创建的范围内真正有用。可能有一些可怕的事情你可以通过反射来获取数据,但我不建议沿着这条路走下去。为什么不想返回IQueryable<Person>
?
关于c# - 如何从 IQueryable 变量中获取数据字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468537/