2010-12-01 129 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)) 

難讀難懂,但仍然有效)