LINQ选择项的Lambda表达式

时间:2013-01-02 11:58:51

标签: linq entity-framework lambda linq-to-entities

我有这段代码

var list = _db.Projects.Where(item => item.Loc =="IN").Select(p => new {id=p.Id, title=p.Title,pc=p.PostalCode });

项目表有很多列,我需要动态查询所需的列并从数据库加载,而不是所有列和数据。

问题:

  1. 如何为linq select?
  2. 编写lambda表达式
  3. 如何通过选择特定的cols,实体框架来减少数据库上的数据读取?

1 个答案:

答案 0 :(得分:1)

查看C#编译器生成的表达式并尝试复制它的作用:

Expression<Func<Project, object>> lambda =
    (Project p) => (object)new {id=p.Id, title=p.Title,pc=p.PostalCode };

我希望这段代码可以编译。如果没有,你肯定能够解决它。然后,查看lambda变量的内容。

注意,转换为object仅用于进行此编译。你不需要/想要那是生产。