我有代码可以根据搜索条件从实体类中检索所有列。但我想要一个特定的列值而不是完整的列值。
我的代码是 -
Main main;
main = repo.Find<Main>(m => m.Code == criteria.code);
其中Main
是实体类,repo
是存储库,criteria
是搜索条件类。现在我想获得一个特定的列名,比如id
. 我怎样才能做到这一点?
我有代码可以根据搜索条件从实体类中检索所有列。但我想要一个特定的列值而不是完整的列值。
我的代码是 -
Main main;
main = repo.Find<Main>(m => m.Code == criteria.code);
其中Main
是实体类,repo
是存储库,criteria
是搜索条件类。现在我想获得一个特定的列名,比如id
. 我怎样才能做到这一点?
假设Find
返回一个IQueryable<T>
,那么您可以使用投影:
repo.Find<Main>(m => m.Code == criteria.code).Select(m => m.Column);
var column =
from m in repo
where m.Code == criteria.code
select m.SomeColumn;
您使用以下Select
方法进行查询投影:
repo.Mains.Where(m => m.Code == criteria.code).Select(m => m.Id);
在相关说明中,您应该阅读Entity Framework 入门。它会让您对查询运算符有一个很好的了解。