DbExpressionBuilder.Join Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Skapar en ny DbJoinExpression som kopplar samman de uppsättningar som anges av de yttre och inre uttrycken DbExpressionKind, på ett likhetsvillkor mellan de angivna yttre och inre nycklarna, med InnerJoin som . |
| Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Skapar en ny DbProjectExpression som projicerar den angivna väljaren över de uppsättningar som anges av de yttre och inre uttrycken, som är kopplade till ett likhetsvillkor mellan de angivna yttre och inre nycklarna, med InnerJoin som DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Skapar en ny DbJoinExpression som kopplar samman de uppsättningar som anges av de yttre och inre uttrycken DbExpressionKind, på ett likhetsvillkor mellan de angivna yttre och inre nycklarna, med InnerJoin som .
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
Parametrar
- outer
- DbExpression
En DbExpression som anger argumentet för den yttre uppsättningen.
- inner
- DbExpression
En DbExpression som anger argumentet för den inre uppsättningen.
- outerKey
- Func<DbExpression,DbExpression>
En metod som anger hur det yttre nyckelvärdet ska härledas från ett element i den yttre uppsättningen.
- innerKey
- Func<DbExpression,DbExpression>
En metod som anger hur värdet för den inre nyckeln ska härledas från ett element i den inre uppsättningen.
Returer
En ny DbJoinExpression, med en DbExpressionKind av InnerJoin, som representerar den inre kopplingsåtgärden som tillämpas på vänster och höger indatauppsättningar under ett kopplingsvillkor som jämför de yttre och inre nyckelvärdena för likhet.
Undantag
outer, inner, outerKey eller innerKey är null.
-eller-
Uttrycket som skapas av outerKey eller innerKey är null.
outer eller inner har ingen samlingsresultattyp.
-eller-
De uttryck som skapas av outerKey och innerKey är inte jämförbara för likhet.
Gäller för
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Skapar en ny DbProjectExpression som projicerar den angivna väljaren över de uppsättningar som anges av de yttre och inre uttrycken, som är kopplade till ett likhetsvillkor mellan de angivna yttre och inre nycklarna, med InnerJoin som 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
Typparametrar
- TSelector
Typen av selector.
Parametrar
- outer
- DbExpression
En DbExpression som anger argumentet för den yttre uppsättningen.
- inner
- DbExpression
En DbExpression som anger argumentet för den inre uppsättningen.
- outerKey
- Func<DbExpression,DbExpression>
En metod som anger hur det yttre nyckelvärdet ska härledas från ett element i den yttre uppsättningen.
- innerKey
- Func<DbExpression,DbExpression>
En metod som anger hur värdet för den inre nyckeln ska härledas från ett element i den inre uppsättningen.
- selector
- Func<DbExpression,DbExpression,TSelector>
En metod som anger hur ett element i resultatuppsättningen ska härledas från element i de inre och yttre uppsättningarna. Den här metoden måste skapa en instans av en typ som är kompatibel med Join och kan matchas till en DbExpression. Kompatibilitetskrav för TSelector beskrivs i kommentarer.
Returer
En ny DbProjectExpression med den angivna väljaren som projektion och en ny DbJoinExpression som indata. Indata dbJoinExpression skapas med en DbExpressionKind av InnerJoin, som representerar den inre kopplingsåtgärden som tillämpas på vänster och höger indatauppsättningar under ett kopplingsvillkor som jämför de yttre och inre nyckelvärdena för likhet.
Undantag
outer, inner, outerKey, innerKey eller selector är null.
-eller-
Uttrycket som skapas av outerKey eller innerKey är null.
-eller-
Resultatet av selector är null efter konvertering till DbExpression.
outer eller inner har ingen samlingsresultattyp.
-eller-
De uttryck som skapas av outerKey och innerKey är inte jämförbara för likhet.
-eller-
Resultatet av selector är inte kompatibelt med SelectMany.
Kommentarer
För att vara kompatibel med Join TSelector måste härledas från DbExpression, eller vara en anonym typ med DbExpression-härledda egenskaper. Följande är exempel på typer som stöds för TSelector:
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector är DbPropertyExpression).
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector är en anonym typ med DbExpression-härledda egenskaper).