DbExpressionBuilder.Join Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Vytvoří novou DbJoinExpression , která spojí sady určené vnějšími a vnitřními výrazy v podmínce rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKindznaku . |
| Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Vytvoří nový DbProjectExpression , který projektuje zadaný selektor nad sadami určenými vnějšími a vnitřními výrazy, spojené s podmínkou rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Vytvoří novou DbJoinExpression , která spojí sady určené vnějšími a vnitřními výrazy v podmínce rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKindznaku .
public:
[System::Runtime::CompilerServices::Extension]
static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> -> System.Data.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression
Parametry
- outer
- DbExpression
A DbExpression , který určuje argument vnější sady.
- inner
- DbExpression
A DbExpression , který určuje argument vnitřní sady.
- outerKey
- Func<DbExpression,DbExpression>
Metoda, která určuje, jak má být hodnota vnějšího klíče odvozena od prvku vnější sady.
- innerKey
- Func<DbExpression,DbExpression>
Metoda, která určuje, jak má být hodnota vnitřního klíče odvozena od prvku vnitřní sady.
Návraty
Nový DbJoinExpression s DbExpressionKind InnerJoin, který představuje vnitřní spojení operace použité na levé a pravé vstupní sady pod podmínkou spojení, která porovnává hodnoty vnějšího a vnitřního klíče pro rovnost.
Výjimky
outer, innerouterKey nebo innerKey má hodnotu null.
nebo
Výraz vytvořený outerKey nebo innerKey má hodnotu null.
outer nebo inner nemá typ výsledku kolekce.
nebo
Výrazy vytvořené outerKey a innerKey nejsou srovnatelné pro rovnost.
Platí pro
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Vytvoří nový DbProjectExpression , který projektuje zadaný selektor nad sadami určenými vnějšími a vnitřními výrazy, spojené s podmínkou rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind.
public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector>(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression
Parametry typu
- TSelector
Typ selector.
Parametry
- outer
- DbExpression
A DbExpression , který určuje argument vnější sady.
- inner
- DbExpression
A DbExpression , který určuje argument vnitřní sady.
- outerKey
- Func<DbExpression,DbExpression>
Metoda, která určuje, jak má být hodnota vnějšího klíče odvozena od prvku vnější sady.
- innerKey
- Func<DbExpression,DbExpression>
Metoda, která určuje, jak má být hodnota vnitřního klíče odvozena od prvku vnitřní sady.
- selector
- Func<DbExpression,DbExpression,TSelector>
Metoda, která určuje, jak má být prvek sady výsledků odvozen z prvků vnitřní a vnější sady. Tato metoda musí vytvořit instanci typu, který je kompatibilní s Join a lze jej přeložit na DbExpression. Požadavky na kompatibilitu jsou TSelector popsány v poznámkách.
Návraty
Nový DbProjectExpression se zadaným selektorem jako jeho projekce a nový DbJoinExpression jako jeho vstup. Vstupní DbJoinExpression je vytvořen s DbExpressionKind InnerJoin, který představuje vnitřní spojení operace použité na levé a pravé vstupní sady pod podmínkou spojení, která porovnává vnější a vnitřní klíč hodnoty rovnosti.
Výjimky
outer, inner, outerKeyinnerKey nebo selector je null.
nebo
Výraz vytvořený outerKey nebo innerKey má hodnotu null.
nebo
Výsledek selector je null po převodu na DbExpression.
outer nebo inner nemá typ výsledku kolekce.
nebo
Výrazy vytvořené outerKey a innerKey nejsou srovnatelné pro rovnost.
nebo
Výsledek selector není kompatibilní s nástrojem SelectMany.
Poznámky
Chcete-li být kompatibilní s Join, TSelector musí být odvozen z DbExpression, nebo musí být anonymní typ s DbExpression odvozené vlastnosti. Tady jsou příklady podporovaných typů pro TSelector:
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector je DbPropertyExpression).
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector je anonymní typ s dbExpression odvozenými vlastnostmi).