2010-12-01 3 views
0

私はテーブルがあります:顧客、注文、製品エンティティフレームワーククエリ

お客様は多くの注文を受けており、各注文にはたくさんの製品があります。

お客様からすべての製品を取得するためのクエリを作成する方法を教えてください。

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

あなたが.Distinctを(追加することができますが)もう一つの方法があるだけ異なる製品

を取得するために: 私は、これは動作するはず助け さようなら

+0

この目的のためにストアドプロシージャを作成します。 –

答えて

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

LINQ SelectManyを使用してください。

2

ためのおかげで、データソースとしてそれを使用する必要があります製品から行く:

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

は読んで理解することが難しいのは難しいが、それでも作品

関連する問題