0

2 つの多対多の関係を含む Linq クエリの作成に問題があります。次のエンティティがあります: アイテム - タグ - カテゴリ アイテムにはタグ付きの多対多があります カテゴリにはタグ付きの多対多があります

私のエンティティの構造は次のとおりです(私はdbの最初のアプローチを使用しました)-Category
(CategoryId、CategoryName、ICollection of Tag)
-Tag(TagId、TagName)-Item(ItemId
、ItemName、ICollection of Tag)

カテゴリごとの商品一覧を取得したい

これを実現する方法はありますか?

4

3 に答える 3

1
var itemPerCategories = 
        db.Category.ToDictionary(
            c => c.CategoryName,
            c => c.Tags.SelectMany(t => t.Items)).ToList())
        );

itemPerCategories はディクショナリで、キーはカテゴリの名前、値はカテゴリ内のすべてのアイテムのリストです。

于 2013-04-13T07:16:04.650 に答える
0

答えが見つかりました:
var items = from c in db.Category
from t in c.Tag
from i in t.Item
where c.CategoryName == "categoryname"
select i;

于 2013-04-12T18:26:29.837 に答える