1

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

我的代码是 -

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

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

4

3 回答 3

6

假设Find返回一个IQueryable<T>,那么您可以使用投影:

repo.Find<Main>(m => m.Code == criteria.code).Select(m => m.Column);
于 2013-07-12T10:32:13.963 回答
3
var column =
    from m in repo
    where m.Code == criteria.code
    select m.SomeColumn;
于 2013-07-12T10:31:00.573 回答
3

您使用以下Select方法进行查询投影:

repo.Mains.Where(m => m.Code == criteria.code).Select(m => m.Id);

在相关说明中,您应该阅读Entity Framework 入门。它会让您对查询运算符有一个很好的了解。

于 2013-07-12T10:32:33.500 回答