选择与实体关联的不同
本文关键字:关联 实体 选择 | 更新日期: 2023-09-27 18:16:04
关于这里问的问题的扩展,我正在尝试做相同的功能,即
IEnumerable<Customer> filteredList = originalList
.GroupBy(customer => customer.CustomerId)
.Select(group => group.First());
在评论中,这是暗示,这将不起作用,如果它是Linq到实体,当然不是为我工作,我得到一个空的结果集。
不适合我!即使我尝试了'FirstOrDefault',它也不起作用。- JatSing Sep 25 '11 at 13:55
@JatSing:你一定是在使用Linq to Entities。- Josh Mouch Feb 14 '12 at 14:45
所以,如果上面不工作Linq到实体,我该如何去分组一个IEnumerable的EntityType消息集由两列,然后得到每组的第一行?
如果你对LINQ表达式如何通过实体框架等进行评估有问题,你可以调用.ToList()
来强制将查询实现到内存中以进行进一步处理。如果从数据库或其他来源获取结果非常昂贵,并且可以首先进一步缩小范围,那么这就不太理想了。
IEnumerable<Customer> filteredList = originalList
.ToList()
.GroupBy(customer => customer.CustomerId)
.Select(group => group.First());
.ToList()
调用使实体框架从数据库中加载完整的originalList
(我假设是某种类型的IQueryable<T>
),允许.GroupBy(...)
在内存中评估originalList
的完整结果,而不是作为SQL查询EF构建的一部分。