다음을 통해 공유


DbExpressionBuilder.Join 메서드

정의

오버로드

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

지정된 외부 및 내부 키 간에 같음 조건으로 외부 및 내부 식에 지정된 집합에 조인되고 InnerJoin을 DbExpressionKind로 사용하는 새 DbJoinExpression을 만듭니다.

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

외부 및 내부 식에 지정되고 지정된 외부 및 내부 키 간에 같음 조건으로 조인된 집합에 InnerJoin을 DbExpressionKind로 사용하여 지정된 선택기를 화면에 표시하는 새 DbProjectExpression을 만듭니다.

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

지정된 외부 및 내부 키 간에 같음 조건으로 외부 및 내부 식에 지정된 집합에 조인되고 InnerJoin을 DbExpressionKind로 사용하는 새 DbJoinExpression을 만듭니다.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join (this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression

매개 변수

outer
DbExpression

외부 집합 인수를 지정하는 DbExpression입니다.

inner
DbExpression

내부 집합 인수를 지정하는 DbExpression입니다.

outerKey
Func<DbExpression,DbExpression>

외부 집합의 요소에서 외부 키 값이 파생되는 방법을 지정하는 메서드입니다.

innerKey
Func<DbExpression,DbExpression>

내부 집합의 요소에서 내부 키 값이 파생되는 방법을 지정하는 메서드입니다.

반환

외부 키 값과 내부 키 값이 같은지 비교하는 조인 조건에 따라 왼쪽 및 오른쪽 입력 집합에 적용되는 내부 조인 연산을 나타내는 InnerJoin의 DbExpressionKind를 사용하는 새 DbJoinExpression입니다.

예외

outer, inner, outerKey 또는 innerKey가 null입니다.

또는

outerKey 또는 innerKey에서 생성된 식이 null입니다.

outer 또는 inner에 컬렉션 결과 형식이 없습니다.

또는

outerKeyinnerKey에서 생성된 식이 같은지 비교할 수 없습니다.

적용 대상

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

외부 및 내부 식에 지정되고 지정된 외부 및 내부 키 간에 같음 조건으로 조인된 집합에 InnerJoin을 DbExpressionKind로 사용하여 지정된 선택기를 화면에 표시하는 새 DbProjectExpression을 만듭니다.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector> (this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

형식 매개 변수

TSelector

selector의 형식입니다.

매개 변수

outer
DbExpression

외부 집합 인수를 지정하는 DbExpression입니다.

inner
DbExpression

내부 집합 인수를 지정하는 DbExpression입니다.

outerKey
Func<DbExpression,DbExpression>

외부 집합의 요소에서 외부 키 값이 파생되는 방법을 지정하는 메서드입니다.

innerKey
Func<DbExpression,DbExpression>

내부 집합의 요소에서 내부 키 값이 파생되는 방법을 지정하는 메서드입니다.

selector
Func<DbExpression,DbExpression,TSelector>

내부 및 외부 집합의 요소에서 결과 집합의 요소가 파생되는 방법을 지정하는 메서드입니다. 이 메서드는 조인과 호환되는 형식의 인스턴스를 생성해야 하며 DbExpression로 확인될 수 있습니다. TSelector에 대한 호환성 요구 사항은 설명에 설명되어 있습니다.

반환

지정된 선택기를 프로젝션으로 사용하여 새 DbJoinExpression을 해당 입력으로 사용하는 새 DbProjectExpression입니다. 입력 DbJoinExpression은 외부 키 값과 내부 키 값이 같은지 비교하는 조인 조건에 따라 왼쪽 및 오른쪽 입력 집합에 적용되는 내부 조인 연산을 나타내는 InnerJoin의 DbExpressionKind로 만들어집니다.

예외

outer, inner, outerKey또는 innerKeyselector 이 null입니다.

또는

outerKey 또는 innerKey에서 생성된 식이 null입니다.

또는

DbExpression으로 변환한 후 selector의 결과가 null입니다.

outer 또는 inner에 컬렉션 결과 형식이 없습니다.

또는

outerKeyinnerKey에서 생성된 식이 같은지 비교할 수 없습니다.

또는

selector의 결과가 SelectMany와 호환되지 않습니다.

설명

Join TSelector 과 호환되려면 에서 DbExpression파생되거나 DbExpression 파생 속성이 있는 익명 형식이어야 합니다. 다음은 에 대해 지원되는 형식의 예입니다.TSelector

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))  

(TSelector 은 )입니다 DbPropertyExpression.

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })  

(TSelector 는 DbExpression 파생 속성이 있는 익명 형식입니다.)

적용 대상