帮助LINQ Projection

RPM*_*984 1 c# linq linq-to-objects .net-4.0

我有一个ICollection<Product>:

var products = productRepository.FindAll();

Product有一个叫做的属性Orders,这是一个ICollection<Order>.

ICollection<Order>对于给定的CustomerId,我试图最终得到一个.

换一种说法:

鉴于产品集合,我想检索特定客户的订单列表

这就是我所拥有的:

var orders = products
               .Where(x => x.Orders != null)
               .Where(x => x.Orders.Any(y => y.CustomerId == 10))
               .Select(x => x.Orders)
               .ToList();
Run Code Online (Sandbox Code Playgroud)

但我最终得到了一个List<ICollection<Order>>,我想要一个ICollection<Order>.

我必须做某种分组吗?

zer*_*kms 5

关于什么:

var orders = products
           .Where(x => x.Orders != null)
           .Where(x => x.Orders.Any(y => y.CustomerId == 10))
           .SelectMany(x => x.Orders)
           .ToList();
Run Code Online (Sandbox Code Playgroud)