2010-12-01 198 views
0

我已经得到了表:客户,订单,产品实体框架查询

客户有GOR了大量的订单,每个订单已经得到了很多WOF产品。

如何编写查询以获取客户的所有产品? 我需要用它作为数据源,感谢您的帮助 再见

+0

为此写入存储过程。 – 2010-12-01 11:46:04

回答

2
var products = from customer in customers 
       from order in customer.Orders 
       from product in order.Products 
       select product; 

只要使用LINQ SelectMany。

2

这应该工作:

var result = customer 
       .SelectMany(x=>x.Orders) 
       .Select(x=>x.Products) 

你也可以添加.Distinct()只检索不同的产品

另一种方式是从产品转到:

var result = dbContext.Products 
       .Where(x=>x.Orders.Any(o=>o.Customer.Id == customer.Id)) 

难读难懂,但仍然有效)