QuerySqlGenerator 类

定义

要为给定 SelectExpression获取IRelationalCommand的查询 SQL 生成器。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

public class QuerySqlGenerator : Microsoft.EntityFrameworkCore.Query.SqlExpressionVisitor
type QuerySqlGenerator = class
    inherit SqlExpressionVisitor
Public Class QuerySqlGenerator
Inherits SqlExpressionVisitor
继承

构造函数

QuerySqlGenerator(QuerySqlGeneratorDependencies)

创建 QuerySqlGenerator 类的新实例。

属性

AliasSeparator

默认别名分隔符。

Dependencies

此服务的关系提供程序特定的依赖项。

Sql

当前 SQL 命令生成器。

方法

CheckComposableSql(String)

检查给定的 SQL 字符串是否可组合,即可以作为子查询嵌入到更大的 SQL 查询中。

CheckComposableSqlTrimmed(ReadOnlySpan<Char>)

检查给定的 SQL 字符串是否可组合,即可以作为子查询嵌入到更大的 SQL 查询中。 提供的 sql 已针对空格和注释进行了剪裁。

GenerateEmptyProjection(SelectExpression)

为 SelectExpression 生成空投影。

GenerateExists(ExistsExpression, Boolean)

为 EXISTS 表达式生成 SQL。

GenerateIn(InExpression, Boolean)

为 IN 表达式生成 SQL。

GenerateLike(LikeExpression, Boolean)

为 LIKE 表达式生成 SQL。

GenerateLimitOffset(SelectExpression)

生成 LIMIT...抵消。。。在关系命令中构造

GenerateOperator(SqlBinaryExpression)
已过时.

为 SQL 二进制操作生成 SQL 运算符。

GenerateOrderings(SelectExpression)

在关系命令中生成 ORDER BY 子句

GeneratePseudoFromClause()

生成伪 FROM 子句。 当查询没有实际的 FROM 子句时,某些提供程序是必需的。

GenerateRootCommand(Expression)

为给定的顶级查询表达式生成 命令。 这允许提供程序在表达式处于顶层时需要不同处理时截获。

GenerateSetOperation(SetOperationBase)

在关系命令中生成设置操作。

GenerateSetOperationOperand(SetOperationBase, SelectExpression)

在关系命令中为给定集操作生成操作数。

GenerateTagsHeaderComment(ISet<String>)

生成标记的头注释。

GenerateTagsHeaderComment(SelectExpression)
已过时.

生成标记的头注释。

GenerateTop(SelectExpression)

在关系命令中生成 TOP 构造

GenerateValues(ValuesExpression)

生成 VALUES 表达式。

GetCommand(Expression)

获取查询表达式的关系命令。

GetCommand(SelectExpression)

获取 的关系 SelectExpression命令。

GetOperator(SqlBinaryExpression)

获取 SQL 二进制操作的 SQL 运算符。

RequiresParentheses(SqlExpression, SqlExpression)

返回一个布尔值,该值指示在为外部 SQL 表达式生成 SQL 时是否需要将内部 SQL 表达式放在括号内。

TryGenerateWithoutWrappingSelect(SelectExpression)

如果可能, 将生成所提供的 selectExpression 中包含的表达式,而不用换行 SELECT。 可对集操作和 VALUES 执行此操作,这些操作可以显示为顶级语句,而无需在 SELECT 中包装。

TryGetOperatorInfo(SqlExpression, Int32, Boolean)

返回一个数值,该值表示给定 expression的优先级及其关联性。 这些控件控制是否在表达式周围生成括号。

VisitAtTimeZone(AtTimeZoneExpression)

访问 sql“at time zone”表达式的子级。

VisitAtTimeZone(AtTimeZoneExpression)

访问 sql“at time zone”表达式的子级。

(继承自 SqlExpressionVisitor)
VisitCase(CaseExpression)

访问 case 表达式的子级。

VisitCollate(CollateExpression)

访问排序规则表达式的子级。

VisitCollate(CollateExpression)

访问排序规则表达式的子级。

(继承自 SqlExpressionVisitor)
VisitColumn(ColumnExpression)

访问列表达式的子级。

VisitCrossApply(CrossApplyExpression)

访问交叉应用表达式的子级。

VisitCrossJoin(CrossJoinExpression)

访问交叉联接表达式的子级。

VisitDelete(DeleteExpression)

访问 delete 表达式的子级。

VisitDelete(DeleteExpression)

访问 delete 表达式的子级。

(继承自 SqlExpressionVisitor)
VisitDistinct(DistinctExpression)

访问不同表达式的子级。

VisitDistinct(DistinctExpression)

访问不同表达式的子级。

(继承自 SqlExpressionVisitor)
VisitExcept(ExceptExpression)

访问 except 表达式的子级。

VisitExists(ExistsExpression)

访问 exists 表达式的子级。

VisitExtension(Expression)

要为给定 SelectExpression获取IRelationalCommand的查询 SQL 生成器。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

(继承自 SqlExpressionVisitor)
VisitFromSql(FromSqlExpression)

访问 from sql 表达式的子级。

VisitIn(InExpression)

访问 表达式中的 的子级。

VisitInnerJoin(InnerJoinExpression)

访问内部联接表达式的子级。

VisitIntersect(IntersectExpression)

访问相交表达式的子级。

VisitJsonScalar(JsonScalarExpression)

访问 JSON 标量表达式的子级。

VisitJsonScalar(JsonScalarExpression)

访问 JSON 标量表达式的子级。

(继承自 SqlExpressionVisitor)
VisitLeftJoin(LeftJoinExpression)

访问左联接表达式的子级。

VisitLike(LikeExpression)

访问 like 表达式的子级。

VisitOrdering(OrderingExpression)

访问排序表达式的子级。

VisitOuterApply(OuterApplyExpression)

访问外部应用表达式的子级。

VisitProjection(ProjectionExpression)

访问投影表达式的子级。

VisitRowNumber(RowNumberExpression)

访问行号表达式的子级。

VisitRowValue(RowValueExpression)

访问行值表达式的子级。

VisitRowValue(RowValueExpression)

访问行值表达式的子级。

(继承自 SqlExpressionVisitor)
VisitScalarSubquery(ScalarSubqueryExpression)

访问标量子查询表达式的子级。

VisitScalarSubquery(ScalarSubqueryExpression)

访问标量子查询表达式的子级。

(继承自 SqlExpressionVisitor)
VisitSelect(SelectExpression)

访问 select 表达式的子级。

VisitSqlBinary(SqlBinaryExpression)

访问 sql 二进制表达式的子级。

VisitSqlConstant(SqlConstantExpression)

访问 sql 常量表达式的子级。

VisitSqlFragment(SqlFragmentExpression)

访问 sql 片段表达式的子级。

VisitSqlFunction(SqlFunctionExpression)

访问 sql 函数表达式的子级。

VisitSqlParameter(SqlParameterExpression)

访问 sql 参数表达式的子级。

VisitSqlUnary(SqlUnaryExpression)

访问 sql 一元表达式的子级。

VisitSubSelect(ScalarSubqueryExpression)

要为给定 SelectExpression获取IRelationalCommand的查询 SQL 生成器。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

VisitSubSelect(ScalarSubqueryExpression)

要为给定 SelectExpression获取IRelationalCommand的查询 SQL 生成器。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

(继承自 SqlExpressionVisitor)
VisitTable(TableExpression)

访问表表达式的子级。

VisitTableValuedFunction(TableValuedFunctionExpression)

访问表值函数表达式的子级。

VisitTableValuedFunction(TableValuedFunctionExpression)

访问表值函数表达式的子级。

(继承自 SqlExpressionVisitor)
VisitUnion(UnionExpression)

访问联合表达式的子级。

VisitUpdate(UpdateExpression)

访问更新表达式的子级。

VisitUpdate(UpdateExpression)

访问更新表达式的子级。

(继承自 SqlExpressionVisitor)
VisitValues(ValuesExpression)

访问值表达式的子级。

VisitValues(ValuesExpression)

访问值表达式的子级。

(继承自 SqlExpressionVisitor)

适用于