2011-08-07 12 views
0

EF 4.1クエリからいくつかのデータを取得する助けが必要です。EF LINQクエリ - 多対多

多対多の関係を持つProductsテーブルとCategoriesテーブルがあります。

IDで商品を選択し、関連するカテゴリを含める必要があります。

私はこの思い付いた:私はより良い方法があると確信して

Public Function GetProductByID(ID As Integer) As Core.Entities.Product Implements Core.Interfaces.IProductService.GetProductByID 
     Dim p = ProductRepository.Query.Single(Function(x) x.ID = ID) 
     p.Categories = CategoryRepository.Query.Where(Function(x) x.Products.Any(Function(y) y.ID = ID)).ToList 

     Return p 

    End Function 

答えて

2

ProductエンティティにCategoriesというプロパティがある場合、Include()を使用しないのはなぜですか? (C#の構文):

var p = ProductRepository.Include(x=> x.Categories) 
         .Single(x => x.ID == ID); 

はまたLoading Related Objects

を見ます