DbExpressionBuilder.SelectMany メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
特定の入力セットの各要素につき 1 回、指定された |
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
特定の入力セットの各要素につき 1 回、指定された |
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。
例外
適用対象
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。
例外
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 派生プロパティを持つ匿名型です)。
適用対象
.NET