我有一张桌子,上面有很大的列。如何在不填充映射到这些列的属性的情况下选择实体?
我有一个想法,但我不确定这是不是正确的方法:
ctx.Items.Where(....).Select(a=> new Item { ... bind only needed columns }).ToList()这些实体是否会附加到DataContext?
发布于 2011-02-04 23:29:48
使用除Item之外的任何类型。例如,匿名类型或DTO。然后,您的查询将执行您想要的操作。
发布于 2011-02-05 06:06:05
我认为你走的路是对的。这是实例化只填充首选列/属性的对象的方法。看看this post吧。
编辑:
这是来自Julie Lerman的,我相信这是在这个问题中问到的:
使用LINQ查询方法进行投影使用LINQ基于方法的查询语法,您可以使用
方法,然后在其参数中标识所需的属性。基于方法的查询语法需要在lambda中创建匿名类型的语法(参见Example 4-4)。
例4-4。使用LINQ的基于方法的语法进行投影
context.Contacts .Where(c => c.FirstName == "Robert") .Select(c => .Where {c.Title,c.LastName,c.FirstName})
https://stackoverflow.com/questions/4897536
复制相似问题