2009-08-21 2 views
0

컬렉션과 함께 단일 엔터티를 반환하고 컬렉션을 정렬하도록 쿼리를 만들 수 있습니까? =엔티티 및 하위 컬렉션을 반환하는 쿼리 .. 하위 컬렉션 정렬?

VAR

카테고리 = context.Categories.Where (C :는 DB를 두 번 호출을 있다면 난 그냥 엔티티 타입이 아닌 익명의 형태로 최종 결과가 필요합니다 .. 상관 없어 > c.categoryID == categoryID) .Select (c => new {c, products = c.Products.OrderByDescending (p => p.priceDate)}) 처음();

하지만 위의 중 하나를 반환하거나 Products 컬렉션이있는 범주로 캐스팅해야합니다. 익명 형식으로 apposed. 감사!

답변

0

당신은 당신의 데이터베이스에서 올바른 외래 키 관계는 다음 충분합니다 당신의 카테고리에 대한 간단한 선택을하고 다음 제품을 주문할 수있는 경우 너무

Category category = context.Categories.Where(c => c.categoryID == categoryID).First(); 

List<Product> sortedProducts= context.Categories.products.OrderBy(...).ToList() 

당신이 얻을 때 FK 관계가 설정되면 그것도 아이들을 검색해야 최상위 개체 (나는 linkt - 엔티티와 linkt -와 - 일을하지만,이 측면 tho에서 다르고 상상할 수없는 linq -와 함께 일한 havent) 나는 위의 작품을해야한다고 생각 ...

+0

안녕하십니까. 이것은 확실히 그것이 작동 해야하는 것처럼 보인다. .. 그리고 지금 그렇게 명백하게 보인다! 그러나 나는 받고 있어요 : "암시 적으로"System.Collections.GenericList 형식을 System.Datas.ObjectClasses.EntityCollection "로 변환 할 수 없습니다. –

+0

네, 그럴 수 없습니다 .ToList () 나는 생각하지 않는다 .ToList()를 사용하지 않거나 sort()를 사용하여 시도해보십시오. – Daniel

+0

toList()가 없으면 결과가 없습니다 .. 두 번째 진술 제품로드되지 않습니다 ... –

0

카테고리 클래스에 넣을 수 있습니까? 다음과 같이 입력하십시오 :

public parital class Category 
{ 
     public Ilist<Product> ProductsByPriceDate 
     { 
      get 
      { 
       return this.Products.OrderbyDescending(p= > p.priceDate).ToList(); 
      } 
     } 
    }