DbExpressionBuilder.Join 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 不兼容。