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