DbExpressionBuilder.Join 메서드

정의

오버로드

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

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

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

InnerJoinDbProjectExpression을 사용하여 지정된 외부 키와 내부 키 사이의 같음 조건에 조인된 외부 및 내부 식으로 지정된 집합에 지정된 선택기를 투영하는 새 DbExpressionKind 선택기를 만듭니다.

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

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

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

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

inner
DbExpression

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

outerKey
Func<DbExpression,DbExpression>

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

innerKey
Func<DbExpression,DbExpression>

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

반품

외부 및 내부 키 값을 같음으로 DbExpressionKind 비교하는 조인 조건 하에서 왼쪽 및 오른쪽 입력 집합에 적용된 내부 조인 작업을 나타내는 InnerJoin의 새 DbJoinExpression입니다.

예외

outer, inner또는 outerKeyinnerKey null입니다.

-또는-

생성되거나 outerKeyinnerKey null인 식입니다.

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

-또는-

같음으로 생성되고 outerKeyinnerKey 비교할 수 없는 식입니다.

적용 대상

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

InnerJoinDbProjectExpression을 사용하여 지정된 외부 키와 내부 키 사이의 같음 조건에 조인된 외부 및 내부 식으로 지정된 집합에 지정된 선택기를 투영하는 새 DbExpressionKind 선택기를 만듭니다.

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

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

inner
DbExpression

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

outerKey
Func<DbExpression,DbExpression>

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

innerKey
Func<DbExpression,DbExpression>

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

selector
Func<DbExpression,DbExpression,TSelector>

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

반품

지정된 선택기를 프로젝션으로 사용하고 새 DbJoinExpression을 입력으로 사용하는 새 DbProjectExpression입니다. 입력 DbJoinExpression은 외부 및 내부 키 값을 같음으로 비교하는 조인 조건 하에서 왼쪽 및 오른쪽 입력 집합에 적용된 내부 조인 작업을 나타내는 InnerJoin으로 만들어집니다 DbExpressionKind .

예외

outer, inner, outerKeyinnerKey 또는 selector null입니다.

-또는-

생성되거나 outerKeyinnerKey null인 식입니다.

-또는-

selector 결과는 DbExpression으로 변환한 후 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 is)입니다 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 파생 속성이 있는 익명 형식)입니다.

적용 대상