DbExpressionBuilder.SelectMany 메서드

정의

오버로드

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

지정된 입력 집합의 각 요소에 대해 지정된 DbApplyExpression 식을 한 번 평가하는 새 apply 식을 만들어 해당 입력이 있는 행 컬렉션을 생성하고 열을 적용합니다. 빈 집합으로 평가되는 apply 행은 포함되지 않습니다. 그런 다음 각 행에서 열을 선택하여 DbProjectExpression 결과의 전체 컬렉션을 apply 생성하는 A apply 가 만들어집니다.

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

지정된 입력 집합의 각 요소에 대해 지정된 DbApplyExpression 식을 한 번 평가하는 새 apply 식을 만들어 해당 입력이 있는 행 컬렉션을 생성하고 열을 적용합니다. 빈 집합으로 평가되는 apply 행은 포함되지 않습니다. 그런 다음 각 행에 대해 DbProjectExpression 지정된 값을 선택하여 전체 결과 컬렉션을 생성하는 A selector 가 만들어집니다.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

지정된 입력 집합의 각 요소에 대해 지정된 DbApplyExpression 식을 한 번 평가하는 새 apply 식을 만들어 해당 입력이 있는 행 컬렉션을 생성하고 열을 적용합니다. 빈 집합으로 평가되는 apply 행은 포함되지 않습니다. 그런 다음 각 행에서 열을 선택하여 DbProjectExpression 결과의 전체 컬렉션을 apply 생성하는 A apply 가 만들어집니다.

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

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

apply
Func<DbExpression,DbExpression>

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

반품

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

예외

source 또는 apply null입니다.

-또는-

생성된 식이 apply null입니다.

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

-또는-

생성된 apply 식에 컬렉션 형식이 없습니다.

적용 대상

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

지정된 입력 집합의 각 요소에 대해 지정된 DbApplyExpression 식을 한 번 평가하는 새 apply 식을 만들어 해당 입력이 있는 행 컬렉션을 생성하고 열을 적용합니다. 빈 집합으로 평가되는 apply 행은 포함되지 않습니다. 그런 다음 각 행에 대해 DbProjectExpression 지정된 값을 선택하여 전체 결과 컬렉션을 생성하는 A selector 가 만들어집니다.

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

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

apply
Func<DbExpression,DbExpression>

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

selector
Func<DbExpression,DbExpression,TSelector>

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

반품

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

예외

source selector 또는 apply null입니다.

-또는-

생성된 식이 apply null입니다.

-또는-

결과는 selector DbExpression으로 변환할 때 null입니다.

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

-또는-

생성된 apply 식에 컬렉션 형식이 없습니다. 컬렉션 형식이 없습니다.

설명

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

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

(TSelector is)입니다 DbPropertyExpression.

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

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

적용 대상