DbExpressionBuilder.SelectMany Yöntem

Tanım

Aşırı Yüklemeler

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Belirli bir giriş kümesinin her öğesi için verilen apply ifadeyi bir kez değerlendiren ve karşılık gelen girişe sahip bir satır koleksiyonu oluşturan ve sütunları uygulayan yeni DbApplyExpression bir oluşturur. Boş bir küme olarak değerlendirilen apply satırlar dahil değildir. Ardından, her satırdan apply sütunu seçerek sonuç koleksiyonunu apply oluşturan bir DbProjectExpression oluşturulur.

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

Belirli bir giriş kümesinin her öğesi için verilen apply ifadeyi bir kez değerlendiren ve karşılık gelen girişe sahip bir satır koleksiyonu oluşturan ve sütunları uygulayan yeni DbApplyExpression bir oluşturur. Boş bir küme olarak değerlendirilen apply satırlar dahil değildir. Ardından her satırda belirtileni selector seçerek sonuç koleksiyonunu oluşturan bir DbProjectExpression oluşturulur.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Belirli bir giriş kümesinin her öğesi için verilen apply ifadeyi bir kez değerlendiren ve karşılık gelen girişe sahip bir satır koleksiyonu oluşturan ve sütunları uygulayan yeni DbApplyExpression bir oluşturur. Boş bir küme olarak değerlendirilen apply satırlar dahil değildir. Ardından, her satırdan apply sütunu seçerek sonuç koleksiyonunu apply oluşturan bir DbProjectExpression oluşturulur.

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

Parametreler

source
DbExpression

DbExpression Giriş kümesini belirten bir.

apply
Func<DbExpression,DbExpression>

Giriş kümesinin her üyesi için bir kez değerlendirilecek mantığı temsil eden bir yöntem.

Döndürülenler

Belirtilen girişe sahip yeni bir DbApplyExpression'dan apply sütununu seçip bağlamaları ve CrossApply'yi uygulayan yeni bir DbExpressionKind DbProjectExpression.

Özel durumlar

source veya apply null.

-veya-

tarafından apply üretilen ifade null.

source koleksiyon sonuç türüne sahip değil.

-veya-

tarafından apply üretilen ifadenin koleksiyon türü yok.

Şunlara uygulanır

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

Belirli bir giriş kümesinin her öğesi için verilen apply ifadeyi bir kez değerlendiren ve karşılık gelen girişe sahip bir satır koleksiyonu oluşturan ve sütunları uygulayan yeni DbApplyExpression bir oluşturur. Boş bir küme olarak değerlendirilen apply satırlar dahil değildir. Ardından her satırda belirtileni selector seçerek sonuç koleksiyonunu oluşturan bir DbProjectExpression oluşturulur.

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

Tür Parametreleri

TSelector

yönteminin selectorsonuç türü.

Parametreler

source
DbExpression

DbExpression Giriş kümesini belirten bir.

apply
Func<DbExpression,DbExpression>

Giriş kümesinin her üyesi için bir kez değerlendirilecek mantığı temsil eden bir yöntem.

selector
Func<DbExpression,DbExpression,TSelector>

Giriş öğesi verildiğinde sonuç kümesinin bir öğesinin nasıl türetileceğini belirten ve kümeleri uygulayan bir yöntem. Bu yöntem, SelectMany ile uyumlu olan ve içinde çözümlenebilen DbExpressionbir türün örneğini üretmelidir. için TSelector uyumluluk gereksinimleri açıklamalarda açıklanmıştır.

Döndürülenler

Belirtilen girişe sahip yeni bir DbApplyExpression'dan verilen seçicinin sonucunu seçen ve bağlamaları ve CrossApply'yi uygulayan yeni bir DbExpressionKind DbProjectExpression.

Özel durumlar

sourceveya applyselector null olur.

-veya-

tarafından apply üretilen ifade null.

-veya-

Sonucu selector , DbExpression'a dönüştürmede null olur.

source koleksiyon sonuç türüne sahip değil.

-veya-

tarafından apply üretilen ifadenin koleksiyon türü yok. koleksiyon türüne sahip değil.

Açıklamalar

SelectMany ile uyumlu olmak için, TSelector türünden DbExpressiontüretilmiş veya DbExpression türetilmiş özelliklere sahip anonim bir tür olmalıdır. Aşağıda için TSelectordesteklenen türlerin örnekleri verilmiştir:

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

(TSelector ise DbPropertyExpression).

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

(TSelector DbExpression türetilmiş özelliklere sahip anonim bir türdür).

Şunlara uygulanır