我正在尝试按客户 ID 对订单进行分组,然后将(由客户)返回的订单投影到一个列表中。试图弄清楚我将如何做到这一点?
List<OrderGroup> set = OrderRepository.GetAllOrders
.GroupBy(x => x.CustomerId).Select(result => new OrderGroup
{
Orders = ???? //should be all orders from one customer.
}).ToList();
最佳答案
result
是 IGrouping<TKey, T>
,它本身就是一个 IEnumerable<T>
,所以你可以这样做:
List<OrderGroup> set = OrderRepository.GetAllOrders
.GroupBy(x => x.CustomerId)
.Select(result => new OrderGroup
{
Orders = result.ToList()
}).ToList();
(请注意,这假设
Orders
可从 List<Order>
分配。)
关于带投影的 Linq groupby 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045320/