2011-08-07 2 views
0

EF 4.1 쿼리에서 일부 데이터를 가져 오는 데 도움이 필요합니다.EF LINQ 쿼리 - 다수 대 다수

테이블에 many-to-many 관계가있는 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# 1 구)

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

는 또한 Loading Related Objects

참조