DbExpressionBuilder.Join Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Tworzy nowy DbJoinExpression zestaw, który łączy zestawy określone przez wyrażenia zewnętrzne i wewnętrzne, w warunku równości między określonymi kluczami zewnętrznymi i wewnętrznymi przy użyciu elementu InnerJoin jako DbExpressionKind. |
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Tworzy nowy DbProjectExpression element, który projektuje określony selektor nad zestawami określonymi przez wyrażenia zewnętrzne i wewnętrzne, przyłączony do warunku równości między określonymi kluczami zewnętrznymi i wewnętrznymi przy użyciu elementu InnerJoin jako DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Tworzy nowy DbJoinExpression zestaw, który łączy zestawy określone przez wyrażenia zewnętrzne i wewnętrzne, w warunku równości między określonymi kluczami zewnętrznymi i wewnętrznymi przy użyciu elementu InnerJoin jako DbExpressionKind.
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
Element DbExpression określający argument zestawu zewnętrznego.
- inner
- DbExpression
Element DbExpression określający wewnętrzny argument zestawu.
- outerKey
- Func<DbExpression,DbExpression>
Metoda określająca sposób, w jaki wartość klucza zewnętrznego powinna pochodzić z elementu zestawu zewnętrznego.
- innerKey
- Func<DbExpression,DbExpression>
Metoda określająca sposób, w jaki wartość klucza wewnętrznego powinna pochodzić z elementu zestawu wewnętrznego.
Zwraca
Nowa funkcja DbJoinExpression z elementem DbExpressionKind InnerJoin, która reprezentuje operację sprzężenia wewnętrznego zastosowaną do zestawów wejściowych po lewej i prawej stronie w warunku sprzężenia, który porównuje wartości klucza zewnętrznego i wewnętrznego dla równości.
Wyjątki
outer
, inner
lub outerKey
innerKey
ma wartość null.
-lub-
Wyrażenie wygenerowane przez outerKey
wartość lub innerKey
ma wartość null.
outer
lub inner
nie ma typu wyniku kolekcji.
-lub-
Wyrażenia generowane przez outerKey
i innerKey
nie są porównywalne z równością.
Dotyczy
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Tworzy nowy DbProjectExpression element, który projektuje określony selektor nad zestawami określonymi przez wyrażenia zewnętrzne i wewnętrzne, przyłączony do warunku równości między określonymi kluczami zewnętrznymi i wewnętrznymi przy użyciu elementu 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 elementu selector
.
Parametry
- outer
- DbExpression
Element DbExpression określający argument zestawu zewnętrznego.
- inner
- DbExpression
Element DbExpression określający wewnętrzny argument zestawu.
- outerKey
- Func<DbExpression,DbExpression>
Metoda określająca sposób, w jaki wartość klucza zewnętrznego powinna pochodzić z elementu zestawu zewnętrznego.
- innerKey
- Func<DbExpression,DbExpression>
Metoda określająca sposób, w jaki wartość klucza wewnętrznego powinna pochodzić z elementu zestawu wewnętrznego.
- selector
- Func<DbExpression,DbExpression,TSelector>
Metoda określająca, w jaki sposób element zestawu wyników powinien pochodzić z elementów zestawów wewnętrznych i zewnętrznych. Ta metoda musi utworzyć wystąpienie typu zgodnego z elementem Join i można go rozpoznać w obiekcie DbExpression. Wymagania dotyczące zgodności są TSelector
opisane w uwagach.
Zwraca
Nowy selektor DbProjectExpression z określonym selektorem jako projekcją i nową bazą danych DbJoinExpression jako dane wejściowe. Dane wejściowe DbJoinExpression są tworzone za pomocą elementu DbExpressionKind InnerJoin, który reprezentuje operację sprzężenia wewnętrznego zastosowaną do zestawów wejściowych po lewej i prawej stronie w warunku sprzężenia, który porównuje wartości klucza zewnętrznego i wewnętrznego dla równości.
Wyjątki
outer
, inner
, outerKey
lub innerKey
selector
ma wartość null.
-lub-
Wyrażenie wygenerowane przez outerKey
wartość lub innerKey
ma wartość null.
-lub-
Wynik selector
ma wartość null po konwersji na DbExpression.
outer
lub inner
nie ma typu wyniku kolekcji.
-lub-
Wyrażenia generowane przez outerKey
usługę i innerKey
nie są porównywalne z równością.
-lub-
Wynik nie selector
jest zgodny z selectMany.
Uwagi
Aby być zgodnym z elementem Join, TSelector
musi pochodzić z DbExpressionklasy lub musi być typem anonimowym z właściwościami pochodnymi DbExpression. Poniżej przedstawiono przykłady obsługiwanych typów dla TSelector
programu :
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector
to DbPropertyExpression).
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector
jest typem anonimowym z właściwościami pochodnymi DbExpression).