性能问题默认选择:动态选择查询Lambda表达式 - Entityframework

时间:2012-12-20 15:54:55

标签: sql-server-2008 c#-4.0 lambda entity-framework-5

我有lambda表达式,如下所示

Projects.Where(Project => (Project.PostalCode == "5000"))

它生成像

这样的SQL查询
SELECT [Id] AS [Id], [Title] AS [Title], .........
[AddressLine1] AS [AddressLine1]
from Project  where PostalCode == "5000"

这里我想在Lambda表达式中生成select查询。实体可能拥有超过100个字段。我不想要所有这些领域,因为它会影响性能。

我需要5到8列可以动态选择。以下是我手动生成的作品

Projects.Where(Project => (Project.PostalCode == "5000")).Select(p=>new{id=p.Id, titile=p.Title, desc=p.OwnDescription, pc=p.PostalCode})

我已经浏览了一些帖子并且没有获得足够的信息。有谁知道如何动态构建选择查询?

1 个答案:

答案 0 :(得分:0)

我在这里得到了解决方案。带有源代码的好文章。 http://carlisknight.blogspot.in/2010/02/now-change-linq-statement-to-dynamic.html