2

Linq の同じクエリでカテゴリとその項目のリストを取得しようとしています。カテゴリアイテムのリストと関連製品のリストのようなもの。

たとえば、次のようなアイテムのリスト:

Class MyClass {
Category food;
List<Product> products; //here I want to get list of products in this category
}

そして、製品IDとカテゴリIDを含むそれらの間を接続するテーブルがあります。

この結果を取得するには、どのクエリを使用すればよいですか?


編集:テーブルの例:

表:製品

  • 製品番号
  • 商品名
  • 製品説明
  • 商品内容

表:製品カテゴリ

  • 製品番号
  • カテゴリ ID

表: カテゴリ

  • カテゴリ ID
  • カテゴリタイトル
  • カテゴリ説明
4

2 に答える 2

1

Product と Category の間には多対多の関係があります。明示的にコード化された結合を使用せずに、このような関係を照会する非常に便利な方法は次のとおりです。

from c in Categories
select new MyClass { 
    Category = c, 
    Products = c.ProductCategories.Select (pc => pc.Product).ToList()
}
于 2012-07-28T14:10:12.797 に答える
0

次のようなことを試してください: (未テスト)

var q = from pc in ProductsCategories
        from cat in Categories
        where pc.productId == cat.categoryId
        from prod in Products
        where prod.productId == pc.productId
        select new { category = cat, product = prod };
var q2 = from product in q
         group product by product.categoryId into g
         select new { categoryId = g.Key, products = g };
于 2012-07-26T23:08:35.060 に答える