5
이 람다 식과 관련된 SQL 쿼리가 있는데, 일반적으로이 예제에서보다 많은 조인이 있습니다.람다 식으로 여러 개의 왼쪽 외부 조인
select Table2.a,
Table2.b,
Table2.c,
Table2.d
from Table1
LEFT OUTER JOIN Table2
ON Table2.a = Table1.a and
Table2.b = Table1.b and
Table2.c = Table1.c
LEFT OUTER JOIN Table3
ON Table3.b = Table1.b AND
Table3.c = Table1.c AND
Table3.d = Table1.d
where (Table1.a = ValueA)
order by Table3.f
나는이() 람다 식에 참여하기로하고 있어요,하지만 난이 내부 조인 생성하는 것을 SQL 서버 프로파일에보고 나는 LEFT OUTER 조인이 필요합니다.
이
내가이var RS = DBContext.Table1.Join(DBContext.Table2,
Table1 => new {Table1.a, Table1.b, Table1.c},
Table2 => new {Table1.a, Table1.b, Table1.c},
(Table1, Table2) => new {Table1})
.Join(DBContext.Table3,
LastJoin => new {LastJoin.Table1.b, LastJoin.Table1.c, LastJoin.Table1.d},
Table3 => new {Table3.b, Table3.c, Table3.d},
(LastJoin,Table3) => new {LastJoin.Table1, Table3})
.Where (LastTable => LastTable.Table1.a == ValueA)
.OrderBy(LastTable => LastTable.Table3.f)
.Select (LastTable => new {LastTable.Table1, LastTable.Table3});
내가이 DefaultIfEmpty() 또는 GroupJoin (함께 할 수있는 것을 읽고있다) (가입으로하고있어)하지만 난 어떤 복잡한 예제를 찾을 수있는 방법입니다 하나 이상의 LEFT OUTER JOIN.
어떤 탐색 속성을 표시 할 수 있습니까? 'orderby table1.Table3.f'와 같은 구문을 사용할 때 훨씬 쉽습니다. –
안녕하세요, 내 람다 표현 도스 람다 표현의 끝에 선택 이유는 엔터티의 모든 필드를 원하기 때문에 그것을 나타내지 않습니다. – JuanDYB
왼쪽 조인을 사용하여 쿼리를 작성하는 방법을 알고 있으므로 직접 호출하거나 저장된 proc에 넣고 호출하는 것이 어떻습니까? – HLGEM