Поделиться через


DbExpressionBuilder.Join Метод

Определение

Перегрузки

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Создает объект DbJoinExpression , который объединяет наборы, заданные внешним и внутренним выражениями, на условии равенства между указанными внешними и внутренними ключами, используя InnerJoin в DbExpressionKind качестве .

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

Создает новый DbProjectExpression объект , который проецирует указанный селектор на наборы, заданные внешним и внутренним выражениями, соединенные на условии равенства между указанным внешним и внутренним ключами, используя InnerJoin в DbExpressionKind качестве .

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Создает объект DbJoinExpression , который объединяет наборы, заданные внешним и внутренним выражениями, на условии равенства между указанными внешними и внутренними ключами, используя InnerJoin в DbExpressionKind качестве .

public static System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression Join (this System.Data.Entity.Core.Common.CommandTrees.DbExpression outer, System.Data.Entity.Core.Common.CommandTrees.DbExpression inner, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Entity.Core.Common.CommandTrees.DbExpression * System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> -> System.Data.Entity.Core.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

Параметры

outer
DbExpression

DbExpression, указывающий аргумент внешнего набора.

inner
DbExpression

DbExpression, указывающий аргумент внутреннего набора.

outerKey
Func<DbExpression,DbExpression>

Метод, указывающий способ получения значения внешнего ключа из элемента внешнего набора.

innerKey
Func<DbExpression,DbExpression>

Метод, указывающий способ получения значения внутреннего ключа из элемента внутреннего набора.

Возвращаемое значение

Выражение DbJoinExpression создается с помощью класса DbExpressionKind InnerJoin, который представляет операцию внутреннего соединения, применяемую к левому и правому входным наборам в условии соединения, сравнивающего значения внешних и внутренних ключей на равенство.

Исключения

Выражение, создаваемое outerKey или innerKey, имеет значение NULL.

Выражения, создаваемые outerKey и innerKey, несовместимы по равенству.

Применяется к

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

Создает новый DbProjectExpression объект , который проецирует указанный селектор на наборы, заданные внешним и внутренним выражениями, соединенные на условии равенства между указанным внешним и внутренним ключами, используя InnerJoin в DbExpressionKind качестве .

public static System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression Join<TSelector> (this System.Data.Entity.Core.Common.CommandTrees.DbExpression outer, System.Data.Entity.Core.Common.CommandTrees.DbExpression inner, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Entity.Core.Common.CommandTrees.DbExpression * System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Entity.Core.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

Параметры типа

TSelector

Тип селектора .

Параметры

outer
DbExpression

DbExpression, указывающий аргумент внешнего набора.

inner
DbExpression

DbExpression, указывающий аргумент внутреннего набора.

outerKey
Func<DbExpression,DbExpression>

Метод, указывающий способ получения значения внешнего ключа из элемента внешнего набора.

innerKey
Func<DbExpression,DbExpression>

Метод, указывающий способ получения значения внутреннего ключа из элемента внутреннего набора.

selector
Func<DbExpression,DbExpression,TSelector>

Метод, указывающий способ получения элемента результирующего набора из элементов внутреннего и внешнего наборов. Этот метод должен создать экземпляр типа , совместимый с Join и который может быть разрешен в DbExpression . Требования к совместимости TSelector приведены в примечаниях.

Возвращаемое значение

Новое выражение DbProjectExpression с указанным селектором в качестве его проекции и новым выражением DbJoinExpression качестве входных данных. Входное выражение DbJoinExpression создается с помощью DbExpressionKind InnerJoin, который представляет операцию внутреннего соединения, применяемую к левому и правому входным наборам в условии соединения, сравнивающего значения внешних и внутренних ключей на равенство.

Исключения

Результат селектора после преобразования в DbExpression имеет значение NULL.

Результат selector несовместим с SelectMany.

Применяется к