LINQ选择项目的Lambda表达式 [英] Lambda Expression for LINQ Select Items

查看:102
本文介绍了LINQ选择项目的Lambda表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个代码

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

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

Project table having lot of columns, i need to query required columns dynamically and load from database, not all columns along with data.

问题:


  1. 如何写lambda表达式linq select?

  2. 如何通过选择特定的列,实体框架来减少数据库中的数据读取?


推荐答案

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

Look at the expression the C# compiler generated and try to replicate what it does:

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

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

I hope this code compiles. If not, you'll surely be able to fix it. Afterwards, look at the contents of the lambda variable.

请注意,转换为对象只是在这里进行编译。你不需要/想要的是生产。

Note, that the cast to object is only there to make this compile. You don't need/want that is production.

这篇关于LINQ选择项目的Lambda表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆