DbExpressionBuilder.Join 方法

定义

重载

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

使用 InnerJoin 作为 DbExpressionKind ,在指定的外部键和内部键之间的相等条件上,创建一个联接由外部表达式和内部表达式指定的集的新DbJoinExpression

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

使用 InnerJoin 作为 DbExpressionKind ,创建一个新的 DbProjectExpression ,它将指定的选择器投影到由外部和内部表达式指定的集上,在指定的外部键和内部键之间的相等条件上联接。

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

使用 InnerJoin 作为 DbExpressionKind ,在指定的外部键和内部键之间的相等条件上,创建一个联接由外部表达式和内部表达式指定的集的新DbJoinExpression

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,带有 InnerJoin 的 DbExpressionKind,这表示在比较外部键值和内部键值是否相等的联接条件下将内部联接运算应用于左输入集和右输入集。

例外

outerKey 或 innerKey 生成的表达式为 null。

outerKey 和 innerKey 生成的表达式在相等性上无法进行比较。

适用于

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

使用 InnerJoin 作为 DbExpressionKind ,创建一个新的 DbProjectExpression ,它将指定的选择器投影到由外部和内部表达式指定的集上,在指定的外部键和内部键之间的相等条件上联接。

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 作为其输入。 使用 InnerJoin 的 DbExpressionKind 来创建输入 DbJoinExpression,这表示在比较外部键值和内部键值是否相等的联接条件下将内部联接运算应用于左输入集和右输入集。

例外

转换为 DbExpression 后,选择器的结果为 null。

选择器的结果与 SelectMany 不兼容。

适用于