3

我有这个代码

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

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

问题:

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

1 回答 1

1

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

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

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

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

于 2013-01-02T13:28:44.707 回答