DbExpressionBuilder.SelectMany 方法

定義

多載

名稱 Description
SelectMany(DbExpression, Func<DbExpression,DbExpression>)

建立一個新運算 DbApplyExpression 式,對給定輸入集合的每個元素評估一次, apply 產生一組列,並對應輸入與應用欄位。 不 apply 包含 的行,若 的 評估為空集合。 接著建立 A DbProjectExpression 從每列中選取 apply 欄位,產生整體結果集合 apply

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

建立一個新運算 DbApplyExpression 式,對給定輸入集合的每個元素評估一次, apply 產生一組列,並對應輸入與應用欄位。 不 apply 包含 的行,若 的 評估為空集合。 接著建立 A DbProjectExpression 來選擇每一列指定的 selector 結果,產生整體結果集合。

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

建立一個新運算 DbApplyExpression 式,對給定輸入集合的每個元素評估一次, apply 產生一組列,並對應輸入與應用欄位。 不 apply 包含 的行,若 的 評估為空集合。 接著建立 A DbProjectExpression 從每列中選取 apply 欄位,產生整體結果集合 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>

一種方法,代表對輸入集合中每個成員進行一次評估的邏輯。

傳回

一個新的 DbProjectExpression,從新的 DbApplyExpression 中選擇 apply 欄位,並具備指定的輸入與 apply 綁定,以及 DbExpressionKind CrossApply 的 。

例外狀況

sourceapply 為空值。

-或-

apply 產生的表達式為零。

source 沒有集合結果類型。

-或-

apply 產生的表達式沒有集合型態。

適用於

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

建立一個新運算 DbApplyExpression 式,對給定輸入集合的每個元素評估一次, apply 產生一組列,並對應輸入與應用欄位。 不 apply 包含 的行,若 的 評估為空集合。 接著建立 A DbProjectExpression 來選擇每一列指定的 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 性要求詳見備註。

傳回

一個新的 DbProjectExpression,從一個新的 DbApplyExpression 中選擇指定輸入與 apply 綁定,且 CrossApply 的結果 DbExpressionKind

例外狀況

source,或 applyselector 為零。

-或-

apply 產生的表達式為零。

-或-

轉換成 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") })

( 是一個具有 DbExpression 衍生特性的匿名型態。)TSelector

適用於