다음을 통해 공유


DbExpressionBuilder.SelectMany 메서드

정의

오버로드

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

지정된 입력 집합의 각 요소에 대해 주어진 apply 식을 한 번씩 계산하고 해당 입력 및 apply 열로 행 컬렉션을 생성하는 새 DbApplyExpression을 만듭니다. apply가 빈 집합으로 계산되는 행은 포함되지 않습니다. 그러면 각 행에서 apply 열을 선택하여 전체 apply 결과 컬렉션을 생성하는 DbProjectExpression이 만들어집니다.

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

지정된 입력 집합의 각 요소에 대해 주어진 apply 식을 한 번씩 계산하고 해당 입력 및 apply 열로 행 컬렉션을 생성하는 새 DbApplyExpression을 만듭니다. apply가 빈 집합으로 계산되는 행은 포함되지 않습니다. 그러면 각 행에서 지정된 selector를 선택하여 전체 결과 컬렉션을 생성하는 DbProjectExpression이 만들어집니다.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

지정된 입력 집합의 각 요소에 대해 주어진 apply 식을 한 번씩 계산하고 해당 입력 및 apply 열로 행 컬렉션을 생성하는 새 DbApplyExpression을 만듭니다. apply가 빈 집합으로 계산되는 행은 포함되지 않습니다. 그러면 각 행에서 apply 열을 선택하여 전체 apply 결과 컬렉션을 생성하는 DbProjectExpression이 만들어집니다.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany (this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply);
static member SelectMany : System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function SelectMany (source As DbExpression, apply As Func(Of DbExpression, DbExpression)) As DbProjectExpression

매개 변수

source
DbExpression

입력 집합을 지정하는 DbExpression입니다.

apply
Func<DbExpression,DbExpression>

입력 집합의 각 멤버에 대해 한 번씩 확인할 논리를 나타내는 메서드입니다.

반환

지정된 입력 및 적용 바인딩과 CrossApply의 DbExpressionKind를 사용하는 새로운 DbApplyExpression에서 적용 열을 선택하는 새 DbProjectExpression입니다.

예외

source 또는 apply가 null입니다.

또는

apply에서 생성된 식이 null입니다.

source에 컬렉션 결과 형식이 없습니다.

또는

apply에서 생성되는 식에는 컬렉션 형식이 없습니다.

적용 대상

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

지정된 입력 집합의 각 요소에 대해 주어진 apply 식을 한 번씩 계산하고 해당 입력 및 apply 열로 행 컬렉션을 생성하는 새 DbApplyExpression을 만듭니다. apply가 빈 집합으로 계산되는 행은 포함되지 않습니다. 그러면 각 행에서 지정된 selector를 선택하여 전체 결과 컬렉션을 생성하는 DbProjectExpression이 만들어집니다.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany<TSelector> (this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member SelectMany : 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 SelectMany(Of TSelector) (source As DbExpression, apply As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

형식 매개 변수

TSelector

selector의 메서드 결과 형식입니다.

매개 변수

source
DbExpression

입력 집합을 지정하는 DbExpression입니다.

apply
Func<DbExpression,DbExpression>

입력 집합의 각 멤버에 대해 한 번씩 확인할 논리를 나타내는 메서드입니다.

selector
Func<DbExpression,DbExpression,TSelector>

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

반환

지정된 입력 및 적용 바인딩과 CrossApply의 DbExpressionKind를 사용하는 새로운 DbApplyExpression에서 지정된 선택기의 결과를 선택하는 새 DbProjectExpression입니다.

예외

source, apply 또는 selector이 null입니다.

또는

apply에서 생성된 식이 null입니다.

또는

DbExpression로 변환할 때 selector 결과가 null인 경우

source에 컬렉션 결과 형식이 없습니다.

또는

apply에서 생성되는 식에는 컬렉션 형식이 없습니다. 컬렉션 형식이 없습니다.

설명

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

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))  

(TSelector 은 )입니다 DbPropertyExpression.

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })  

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

적용 대상