2017-05-15 20 views
0

두 테이블 모두에 기본 키가 정의되어 있으며 둘 사이에 외래 키가 있습니다.엔티티에서 Fluent API C#을 쿼리합니다.

Table 1   Table 2 

PK ID   PK ID 
       FK Table1ID.ID 
    Name   DescriptionId 
        Description 

내가하려고하는 것은 ID별로 표 1 모두를 복구하는 것이지만 표 2의 작은 하위 집합입니다.

이 다음과 같이 내가 위의 내용을 수정 한 ID (300)

var option = unitOfWork.Repository<Table1>() 
         .Query(x => x.ID == 300) 
         .Include(y => y.Table2) 
         .Select() 
         .FirstOrDefault(); 

에 대한 표 2에서 모든 레코드를 복구 :

.Query(x => x.ID == 300 && x.Table2.Where(w => w.DescriptionId == 2)) 

.Include(y => y.Table2.Where(w => w.DescriptionId == 2)) 

이 작업도

.

답변

0

아래와 비슷한 작업을 수행해야합니다.

var option = unitOfWork.Repository<Table1>() 
         .Query(x => x.ID == 300) 
         .Include(y => y.Table2) 
         .Select(z => new{Field1 = x.Field1, Field2 = x.Field2, Field3 = y.Field1}) 
         .FirstOrDefault();