次の方法で共有


DbExpressionBuilder.SelectMany メソッド

定義

オーバーロード

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

特定の入力セットの各要素につき 1 回、指定された apply 式を評価し、対応する入力列と適用列を持った行のコレクションを生成する新しい DbApplyExpression を作成します。 apply で空のセットに評価される行は含まれません。 その上で、apply 列を各行から選択する DbProjectExpression が作成され、apply の結果のコレクション全体が構成されます。

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

特定の入力セットの各要素につき 1 回、指定された apply 式を評価し、対応する入力列と適用列を持った行のコレクションを生成する新しい DbApplyExpression を作成します。 apply で空のセットに評価される行は含まれません。 その上で、指定された selector 列を各行から選択する DbProjectExpression が作成され、結果のコレクション全体が構成されます。

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

特定の入力セットの各要素につき 1 回、指定された apply 式を評価し、対応する入力列と適用列を持った行のコレクションを生成する新しい DbApplyExpression を作成します。 apply で空のセットに評価される行は含まれません。 その上で、apply 列を各行から選択する DbProjectExpression が作成され、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

入力セットを指定する DbExpression

apply
Func<DbExpression,DbExpression>

入力セットのメンバーごとに 1 回評価するロジックを表すメソッド。

戻り値

入力とバインディングの適用が指定され、CrossApplys の DbExpressionKind が設定された新しい DbApplyExpression からの特定のセレクターの結果を選択する新しい DbProjectExpression。

例外

source または apply が null です。

- または -

apply によって生成された式が null です。

source の結果型がコレクション型ではありません。

- または -

apply によって生成された式の型がコレクション型ではありません。

適用対象

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

特定の入力セットの各要素につき 1 回、指定された 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>

入力セットのメンバーごとに 1 回評価するロジックを表すメソッド。

selector
Func<DbExpression,DbExpression,TSelector>

入力セットと適用セットの要素から結果セットの要素をどのように得るかを指定するメソッド。 このメソッドは、SelectMany と互換性があり、なおかつ DbExpression に解決可能な型のインスタンスを生成する必要があります。 TSelector の対応要件については、「解説」をご覧ください。

戻り値

CrossApplys の DbExpressionKind の入力とバインディングの適用が指定された新しい DbApplyExpression からの特定のセレクターの結果を選択する新しい DbProjectExpression。

例外

sourceapply、または 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"))  

(TSelectorDbPropertyExpression)。

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

(TSelector は、DbExpression 派生プロパティを持つ匿名型です)。

適用対象