如何使用Entity Framework获取单个列?

时间:2013-07-12 10:27:11

标签: c# asp.net asp.net-mvc entity-framework entity-framework-5

我有代码根据搜索条件检索实体类中的所有列。但我想要一个特定的列值而不是完整的列值。

我的代码是 -

Main main;
main = repo.Find<Main>(m => m.Code == criteria.code);

其中Main是实体类,repo是存储库,criteria是搜索条件类。现在我想获得一个特定的列名,比如id。我怎样才能做到这一点?

3 个答案:

答案 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。它会让你对查询运算符有一个很好的了解。