DbExpressionBuilder 类

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

提供一个用于构造 DbExpression 的 API,并且允许该 API 作为针对表达式类型本身的扩展方法来访问。

继承层次结构

System.Object
  System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.DbExpressionBuilder

命名空间:  System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
<ExtensionAttribute> _
<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId := "Db")> _
Public NotInheritable Class DbExpressionBuilder
用法
[SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public static class DbExpressionBuilder
[ExtensionAttribute]
[SuppressMessageAttribute(L"Microsoft.Maintainability", L"CA1506:AvoidExcessiveClassCoupling")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = L"Db")]
public ref class DbExpressionBuilder abstract sealed
[<AbstractClassAttribute>]
[<SealedAttribute>]
[<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")>]
[<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")>]
type DbExpressionBuilder =  class end
public final class DbExpressionBuilder

DbExpressionBuilder 类型公开以下成员。

属性

  名称 描述
公共属性静态成员 False 使用布尔值 false 创建一个 DbConstantExpression
公共属性静态成员 True 使用布尔值 true 创建一个 DbConstantExpression

顶部

方法

  名称 描述
公共方法静态成员 Aggregate 创建一个新的 DbFunctionAggregate
公共方法静态成员 AggregateDistinct 创建以不同风格应用的一个新的 DbFunctionAggregate
公共方法静态成员 All(DbExpression, Func<DbExpression, DbExpression>) 创建一个新的 DbQuantifierExpression,它确定给定的谓词是否适用于输入集的所有元素。
公共方法静态成员 All(DbExpressionBinding, DbExpression) 创建一个新的 DbQuantifierExpression,它确定给定的谓词是否适用于输入集的所有元素。
公共方法静态成员 And 创建一个 DbAndExpression,它对左边参数和右边参数执行逻辑与运算。
公共方法静态成员 Any(DbExpression) 创建一个新的 DbExpression,它确定指定的集参数是否非空。
公共方法静态成员 Any(DbExpression, Func<DbExpression, DbExpression>) 创建一个新的 DbQuantifierExpression,它确定给定的谓词是否适用于输入集的任何元素。
公共方法静态成员 Any(DbExpressionBinding, DbExpression) 创建一个新的 DbQuantifierExpression,它确定给定的谓词是否适用于输入集的任何元素。
公共方法静态成员 As(DbAggregate, String) 以键/值对对象的形式返回指定参数。
公共方法静态成员 As(DbExpression, String) 以键/值对对象的形式返回指定参数。
公共方法静态成员 Bind 创建一个新的 DbExpressionBinding,它使用生成的变量名称绑定给定的表达式。
公共方法静态成员 BindAs 创建一个新的 DbExpressionBinding,它使用指定的变量名称绑定给定的表达式。
公共方法静态成员 Case 创建一个新的 DbCaseExpression
公共方法静态成员 CastTo 创建一个新的 DbCastExpression,它将强制转换运算应用于一个多态参数。
公共方法静态成员 Constant(Object) 使用给定的常量值创建一个新的 DbConstantExpression
公共方法静态成员 Constant(TypeUsage, Object) 使用给定的常量值创建一个具有指定基元类型的新的 DbConstantExpression
公共方法静态成员 CreateRef(EntitySet, IEnumerable<DbExpression>) 创建一个新的 DbRefExpression,它对基于键值对特定实体的引用进行编码。
公共方法静态成员 CreateRef(EntitySet, DbExpression[]) 创建一个新的 DbRefExpression,它对基于键值对特定实体的引用进行编码。
公共方法静态成员 CreateRef(EntitySet, EntityType, IEnumerable<DbExpression>) 创建一个新的 DbRefExpression,它对基于键值对给定类型的特定实体的引用进行编码。
公共方法静态成员 CreateRef(EntitySet, EntityType, DbExpression[]) 创建一个新的 DbRefExpression,它对基于键值对给定类型的特定实体的引用进行编码。
公共方法静态成员 CrossApply(DbExpression, Func<DbExpression, KeyValuePair<String, DbExpression>>) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。不包括 apply 计算结果为空集的行。
公共方法静态成员 CrossApply(DbExpressionBinding, DbExpressionBinding) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。不包括 apply 计算结果为空集的行。
公共方法静态成员 CrossJoin 创建一个新的 DbCrossJoinExpression,它无条件联接输入表达式绑定列表指定的集。
公共方法静态成员 Deref 创建一个新的 DbDerefExpression,它根据给定的引用表达式检索特定实体。
公共方法静态成员 Distinct 创建一个新的 DbDistinctExpression,它从给定的集参数中删除重复项。
公共方法静态成员 Divide 创建一个新的 DbArithmeticExpression,它用左边参数除以右边参数。
公共方法静态成员 Element 创建一个新的 DbElementExpression,它将一个集转换为单一实例。
公共方法静态成员 Equal 创建一个新的 DbComparisonExpression,它比较左边参数和右边参数是否相等。
公共方法静态成员 Except 创建一个新的 DbExceptExpression,它计算从左边集参数中减去右边集参数的结果。
公共方法静态成员 Exists 创建一个新的 DbExpression,它确定指定的集参数是否非空。
公共方法静态成员 Filter 创建一个新的 DbFilterExpression,它使用指定的谓词筛选给定输入集中的元素。
公共方法静态成员 FullOuterJoin(DbExpression, DbExpression, Func<DbExpression, DbExpression, DbExpression>) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式和右边表达式指定的集,并且使用 FullOuterJoin 作为 DbExpressionKind
公共方法静态成员 FullOuterJoin(DbExpressionBinding, DbExpressionBinding, DbExpression) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式绑定和右边表达式绑定指定的集,并且使用 FullOuterJoin 作为 DbExpressionKind
公共方法静态成员 GetEntityRef 创建一个新的 DbEntityRefExpression,它以结构化形式检索指定实体的引用。
公共方法静态成员 GetRefKey 创建一个新的 DbRefKeyExpression,它以结构化形式检索指定引用的键值。
公共方法静态成员 GreaterThan 创建一个新的 DbComparisonExpression,它确定左边参数是否大于右边参数。
公共方法静态成员 GreaterThanOrEqual 创建一个新的 DbComparisonExpression,它确定左边参数是否大于或等于右边参数。
公共方法静态成员 GroupAggregate 对指定参数创建一个新的 DbGroupAggregate
公共方法静态成员 GroupBind 创建一个新的组表达式绑定,该绑定使用生成的变量名称和组变量名称来绑定给定的表达式。
公共方法静态成员 GroupBindAs 创建一个新的 DbGroupExpressionBinding,它使用指定的变量名称和组变量名称来绑定给定的表达式。
公共方法静态成员 GroupBy 创建一个新的 DbGroupByExpression,它根据指定的组键对输入集的元素进行分组并应用给定的聚合。
公共方法静态成员 In 创建一个 DbInExpression,它将指定表达式的结果与指定列表中常量表达式的结果进行匹配。
公共方法静态成员 InnerJoin(DbExpression, DbExpression, Func<DbExpression, DbExpression, DbExpression>) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式和右边表达式指定的集,并且使用 InnerJoin 作为 DbExpressionKind
公共方法静态成员 InnerJoin(DbExpressionBinding, DbExpressionBinding, DbExpression) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式和右边表达式指定的集,并且使用 InnerJoin 作为 DbExpressionKind
公共方法静态成员 Intersect 创建一个新的 DbIntersectExpression,它计算左边集参数和右边集参数的交集。
公共方法静态成员 Invoke(DbLambda, IEnumerable<DbExpression>) 创建一个新的 DbLambdaExpression,它表示对给定参数应用指定的 Lambda 函数。
公共方法静态成员 Invoke(DbLambda, DbExpression[]) 创建一个新的 DbLambdaExpression,它表示对给定参数应用指定的 Lambda 函数。
公共方法静态成员 Invoke(EdmFunction, IEnumerable<DbExpression>) 创建一个新的 DbFunctionExpression,它表示使用给定的参数调用指定的函数。
公共方法静态成员 Invoke(EdmFunction, DbExpression[]) 创建一个新的 DbFunctionExpression,它表示使用给定的参数调用指定的函数。
公共方法静态成员 IsEmpty 创建一个新的 DbIsEmptyExpression,它确定指定的集参数是否为空集。
公共方法静态成员 IsNull 创建一个新的 DbIsNullExpression,它确定指定的参数是否为 null。
公共方法静态成员 IsOf 创建一个新的 DbIsOfExpression,它确定给定的参数是否为指定的类型或子类型。
公共方法静态成员 IsOfOnly 创建一个新的 DbIsOfExpression 表达式,该表达式确定给定的参数是否属于指定的类型且只属于该类型(而非子类型)。
公共方法静态成员 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
公共方法静态成员 Lambda(DbExpression, IEnumerable<DbVariableReferenceExpression>) 使用指定的内联 Lambda 函数实现和形参创建 DbLambda。
公共方法静态成员 Lambda(DbExpression, DbVariableReferenceExpression[]) 使用指定的内联 Lambda 函数实现和形参创建 DbLambda。
公共方法静态成员 LeftOuterJoin(DbExpression, DbExpression, Func<DbExpression, DbExpression, DbExpression>) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式和右边表达式指定的集,并且使用 LeftOuterJoin 作为 DbExpressionKind
公共方法静态成员 LeftOuterJoin(DbExpressionBinding, DbExpressionBinding, DbExpression) 创建一个新的 DbJoinExpression,它按照指定的联接条件联接左边表达式绑定和右边表达式绑定指定的集,并且使用 LeftOuterJoin 作为 DbExpressionKind
公共方法静态成员 LessThan 创建一个新的 DbComparisonExpression,它确定左边参数是否小于右边参数。
公共方法静态成员 LessThanOrEqual 创建一个新的 DbComparisonExpression,它确定左边参数是否小于或等于右边参数。
公共方法静态成员 Like(DbExpression, DbExpression) 创建一个新的 DbLikeExpression,它将指定的输入字符串与给定的模式进行比较。
公共方法静态成员 Like(DbExpression, DbExpression, DbExpression) 创建一个新的 DbLikeExpression,它使用可选转义符将指定的输入字符串与给定的模式进行比较。
公共方法静态成员 Limit 创建一个新的 DbLimitExpression,它将参数集合中的元素数目限制为指定的计数限值。输出中不包括等值结果。
公共方法静态成员 Minus 创建一个新的 DbArithmeticExpression,它从左边参数中减去右边参数。
公共方法静态成员 Modulo 创建一个新的 DbArithmeticExpression,它计算左边参数除以右边参数所得的余数。
公共方法静态成员 Multiply 创建一个新的 DbArithmeticExpression,它用左边参数乘以右边参数。
公共方法静态成员 Navigate(DbExpression, RelationshipEndMember, RelationshipEndMember) 创建一个新的 DbRelationshipNavigationExpression,它表示组合或关联的导航。
公共方法静态成员 Navigate(RelationshipType, String, String, DbExpression) 创建一个新的 DbRelationshipNavigationExpression,它表示组合或关联的导航。
公共方法静态成员 Negate 创建一个新的 DbArithmeticExpression,它对参数值求反。
公共方法静态成员 New(TypeUsage, IEnumerable<DbExpression>) 创建一个新的 DbNewInstanceExpression。如果类型参数为集合类型,则参数将指定集合的元素。否则,参数将用作新实例中的属性值或列值。
公共方法静态成员 New(TypeUsage, DbExpression[]) 创建一个新的 DbNewInstanceExpression。如果类型参数为集合类型,则参数将指定集合的元素。否则,参数将用作新实例中的属性值或列值。
公共方法静态成员 NewCollection(IEnumerable<DbExpression>) 创建一个新的 DbNewInstanceExpression,它构造一个包含指定元素的集合。集合的类型基于元素的通用类型。如果不存在通用元素类型,将引发异常。
公共方法静态成员 NewCollection(DbExpression[]) 创建一个新的 DbNewInstanceExpression,它构造一个包含指定元素的集合。集合的类型基于元素的通用类型。如果不存在通用元素类型,将引发异常。
公共方法静态成员 NewEmptyCollection 创建一个新的 DbNewInstanceExpression,它构造指定集合类型的空集合。
公共方法静态成员 NewRow 创建一个新的 DbNewInstanceExpression,它生成具有指定的命名列和给定值并且指定为表达式的一行。
公共方法静态成员 Not 创建一个 DbNotExpression,它对给定的参数执行逻辑求反运算。
公共方法静态成员 NotEqual 创建一个新的 DbComparisonExpression,它比较左边参数和右边参数是否不相等。
公共方法静态成员 Null 创建一个新的 DbNullExpression,它表示类型化的 null 值。
公共方法静态成员 OfType 创建一个新的 DbOfTypeExpression,它生成一个集,该集由属于指定类型的给定输入集的元素构成。
公共方法静态成员 OfTypeOnly 创建一个新的 DbOfTypeExpression,它生成一个集,该集由恰好属于指定类型的给定输入集的元素构成。
公共方法静态成员 Or 创建一个 DbOrExpression,它对左边参数和右边参数执行逻辑或运算。
公共方法静态成员 OrderBy(DbExpression, Func<DbExpression, DbExpression>) 创建一个新的 DbSortExpression,它使用升序排序顺序和默认排序规则按照指定的排序键对给定的输入集进行排序。
公共方法静态成员 OrderBy(DbExpression, Func<DbExpression, DbExpression>, String) 创建一个新的 DbSortExpression,它使用升序排序顺序和指定排序规则按照指定的排序键对给定的输入集进行排序。
公共方法静态成员 OrderByDescending(DbExpression, Func<DbExpression, DbExpression>) 创建一个新的 DbSortExpression,它使用降序排序顺序和默认排序规则按照指定的排序键对给定的输入集进行排序。
公共方法静态成员 OrderByDescending(DbExpression, Func<DbExpression, DbExpression>, String) 创建一个新的 DbSortExpression,它使用降序排序顺序和默认排序规则按照指定的排序键对给定的输入集进行排序。
公共方法静态成员 OuterApply(DbExpression, Func<DbExpression, KeyValuePair<String, DbExpression>>) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。其 apply 计算结果为空集的行具有值为 null 的 apply 列值。
公共方法静态成员 OuterApply(DbExpressionBinding, DbExpressionBinding) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。其 apply 计算结果为空集的行具有值为 null 的 apply 列值。
公共方法静态成员 Parameter 创建一个新的 DbParameterReferenceExpression,它使用指定的名称和类型引用参数。
公共方法静态成员 Plus 创建一个新的 DbArithmeticExpression,它将左边参数与右边参数相加。
公共方法静态成员 Project 创建一个新的 DbProjectExpression,它对给定的输入集投影指定的表达式。
公共方法静态成员 Property(DbExpression, EdmProperty) 创建一个新的 DbPropertyExpression,它表示对指定属性的检索。
公共方法静态成员 Property(DbExpression, NavigationProperty) 创建一个新的 DbPropertyExpression,它表示对指定导航属性的检索。
公共方法静态成员 Property(DbExpression, RelationshipEndMember) 创建一个新的 DbPropertyExpression,它表示对指定关系端成员的检索。
公共方法静态成员 Property(DbExpression, String) 创建一个新的 DbPropertyExpression,它表示从给定实例中检索具有指定名称的实例属性。
公共方法静态成员 RefFromKey(EntitySet, DbExpression) 创建一个新的 DbRefExpression,它对基于键值对特定实体的引用进行编码。
公共方法静态成员 RefFromKey(EntitySet, DbExpression, EntityType) 创建一个新的 DbRefExpression,它对基于键值对特定实体的引用进行编码。
公共方法静态成员 Scan 创建一个新的 DbScanExpression,它引用指定的实体集或关系集。
公共方法静态成员 Select<TProjection> 创建一个新的 DbProjectExpression,它对给定的输入集选择指定的表达式。
公共方法静态成员 SelectMany(DbExpression, Func<DbExpression, DbExpression>) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。不包括 apply 计算结果为空集的行。然后创建了 DbProjectExpression,它对每一行选择指定的 selector,并且生成结果的整个集合。
公共方法静态成员 SelectMany<TSelector>(DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression, DbExpression, TSelector>) 创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。不包括 apply 计算结果为空集的行。然后创建了 DbProjectExpression,它对每一行选择指定的 selector,并且生成结果的整个集合。
公共方法静态成员 SetClause 创建一个表示将属性设置为值的新 DbSetClause
公共方法静态成员 Skip(DbSortExpression, DbExpression) 创建一个新的 DbSkipExpression,它从给定的有序输入集中跳过指定数目的元素。
公共方法静态成员 Skip(DbExpressionBinding, IEnumerable<DbSortClause>, DbExpression) 创建一个新的 DbSkipExpression,它在跳过指定数目的元素之前,按照指定的排序规范对给定的输入集进行排序。
公共方法静态成员 Sort 创建一个新的 DbSortExpression,它按照指定的排序规范对给定的输入集进行排序。
公共方法静态成员 Take 创建一个新的 DbLimitExpression,它将参数集合中的元素数目限制为指定的计数限值。输出中不包括等值结果。
公共方法静态成员 ThenBy(DbSortExpression, Func<DbExpression, DbExpression>) 创建具有排序顺序的一个新的 DbSortExpression,它包括给定顺序输入集的排序顺序以及按升序排序顺序的指定排序键和默认排序规则。
公共方法静态成员 ThenBy(DbSortExpression, Func<DbExpression, DbExpression>, String) 创建具有排序顺序的一个新的 DbSortExpression,它包括给定顺序输入集的排序顺序以及按升序排序顺序的指定排序键和指定的排序规则。
公共方法静态成员 ThenByDescending(DbSortExpression, Func<DbExpression, DbExpression>) 创建具有排序顺序的一个新的 DbSortExpression,它包括给定顺序输入集的排序顺序以及按降序排序顺序的指定排序键和默认排序规则。
公共方法静态成员 ThenByDescending(DbSortExpression, Func<DbExpression, DbExpression>, String) 创建具有排序顺序的一个新的 DbSortExpression,它包括给定顺序输入集的排序顺序以及按降序排序顺序的指定排序键和指定的排序规则。
公共方法静态成员 ToSortClause(DbExpression) 使用升序排序顺序和默认排序规则创建一个新的 DbSortClause
公共方法静态成员 ToSortClause(DbExpression, String) 使用升序排序顺序和指定的排序规则创建一个新的 DbSortClause
公共方法静态成员 ToSortClauseDescending(DbExpression) 使用降序排序顺序和默认排序规则创建一个新的 DbSortClause
公共方法静态成员 ToSortClauseDescending(DbExpression, String) 使用降序排序顺序和指定的排序规则创建一个新的 DbSortClause
公共方法静态成员 TreatAs 创建一个新的 DbTreatExpression
公共方法静态成员 UnaryMinus 创建一个新的 DbArithmeticExpression,它对参数值求反。
公共方法静态成员 Union 创建一个新的 DbExpression,它计算左边集参数和右边集参数的并集并且删除了重复项。
公共方法静态成员 UnionAll 创建一个新的 DbUnionAllExpression,它计算左边集参数和右边集参数的并集且不删除重复项。
公共方法静态成员 Variable 创建一个新的 DbVariableReferenceExpression,它使用指定的名称和类型引用变量。
公共方法静态成员 Where 创建一个新的 DbFilterExpression,它使用指定的谓词筛选给定输入集中的元素。

顶部

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder 命名空间