我有这样的代码
var list = _db.Projects.Where(item => item.Loc =="IN").Select(p => new {id=p.Id, title=p.Title,pc=p.PostalCode });
项目表有很多列,我需要动态查询所需的列,并从数据库加载,而不是所有的列随着数据。
问题:
- 如何为linq select编写lambda表达式?
- 如何通过选择特定的颜色,实体框架来减少数据库上的数据读取?
查看c#编译器生成的表达式,并尝试复制它的功能:
Expression<Func<Project, object>> lambda =
(Project p) => (object)new {id=p.Id, title=p.Title,pc=p.PostalCode };
我希望这段代码可以编译。如果没有,你肯定能够解决它。然后,查看lambda
变量的内容。
注意,转换为object
只是为了编译。