DefaultQuerySqlGenerator 类

定义

默认查询 SQL 生成器。

public class DefaultQuerySqlGenerator : Remotion.Linq.Parsing.ThrowingExpressionVisitor, Microsoft.EntityFrameworkCore.Query.Sql.IQuerySqlGenerator, Microsoft.EntityFrameworkCore.Query.Sql.ISqlExpressionVisitor
type DefaultQuerySqlGenerator = class
    inherit ThrowingExpressionVisitor
    interface ISqlExpressionVisitor
    interface IQuerySqlGenerator
Public Class DefaultQuerySqlGenerator
Inherits ThrowingExpressionVisitor
Implements IQuerySqlGenerator, ISqlExpressionVisitor
继承
Remotion.Linq.Parsing.ThrowingExpressionVisitor
DefaultQuerySqlGenerator
实现

构造函数

DefaultQuerySqlGenerator(IRelationalCommandBuilderFactory, ISqlGenerationHelper, IParameterNameGeneratorFactory, IRelationalTypeMapper, SelectExpression)

创建 DefaultQuerySqlGenerator 的新实例。

DefaultQuerySqlGenerator(QuerySqlGeneratorDependencies, SelectExpression)

创建 DefaultQuerySqlGenerator 的新实例。

属性

AliasSeparator

默认别名分隔符。

ConcatOperator

默认字符串串联运算符 SQL。

Dependencies

包含服务依赖项的参数对象。

IsCacheable

获取一个值,该值指示此 SQL 查询是否可缓存。

ParameterValues

获取参数值。

RequiresRuntimeProjectionRemapping

生成的 SQL 是否可能具有无序投影列。

SelectExpression

获取 select 表达式。

SingleLineCommentToken

默认的单个行注释前缀。

Sql

生成的 SQL。

SqlGenerator

获取 SQL 生成帮助程序。

TypedFalseLiteral

默认的 false 文本 SQL。

TypedTrueLiteral

默认的 true 文本 SQL。

方法

ApplyExplicitCastToBoolInProjectionOptimization(Expression)

此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。

CreateUnhandledItemException<T>(T, String)

创建未经处理的项异常。

CreateValueBufferFactory(IRelationalValueBufferFactoryFactory, DbDataReader)

创建关系值缓冲区工厂。

ExtractNonNullExpressionValues(IReadOnlyList<Expression>)
已过时.

从表达式列表中提取非 null 表达式值。

GenerateBinaryOperator(ExpressionType)
已过时.

为给定的二进制操作类型生成 SQL。

GenerateFromSql(String, Expression, IReadOnlyDictionary<String,Object>)

生成与 FromSql 查询对应的 SQL。

GenerateFunctionCall(String, IReadOnlyList<Expression>, String)
已过时.

生成 SQL 函数调用。

GenerateHaving(Expression)

访问 SQL HAVING 子句中的谓词

GenerateIn(InExpression, Boolean)

为 InExpression 生成 SQL。

GenerateIsNotNull(IsNullExpression)

访问 IsNotNullExpression。

GenerateLimitOffset(SelectExpression)

生成 SELECT 语句的 LIMIT OFFSET 部分,

GenerateList(IReadOnlyList<Expression>, Action<IRelationalCommandBuilder>, IReadOnlyList<RelationalTypeMapping>)

通过访问每个项对项列表执行生成。

GenerateList(IReadOnlyList<Expression>, Action<IRelationalCommandBuilder>)

通过访问每个项对项列表执行生成。

GenerateList<T>(IReadOnlyList<T>, Action<T>, Action<IRelationalCommandBuilder>, IReadOnlyList<RelationalTypeMapping>)

使用提供的生成操作和可选的联接操作对项列表执行生成。

GenerateList<T>(IReadOnlyList<T>, Action<T>, Action<IRelationalCommandBuilder>)

使用提供的生成操作和可选的联接操作对项列表执行生成。

GenerateNotIn(InExpression)
已过时.

访问否定的 InExpression。

GenerateOperator(Expression)

为给定表达式生成 SQL 运算符。

GenerateOrderBy(IReadOnlyList<Ordering>)

生成 ORDER BY SQL。

GenerateOrdering(Ordering)

在 SQL ORDER BY 子句中生成单个排序。

GeneratePredicate(Expression)

访问 SQL WHERE 子句中的谓词

GenerateProjection(Expression)

访问 SQL SELECT 子句中的单个投影

GeneratePseudoFromClause()

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

GenerateSql(IReadOnlyDictionary<String,Object>)

为给定的参数值生成 SQL。

GenerateTagsHeaderComment()

生成标记标头注释。

GenerateTop(SelectExpression)

生成 SELECT 语句的 TOP 部分,

GetTypeMaterializationInfos()

有关此查询所投影的类型的信息。

InferTypeMappingFromColumn(Expression)

从列表达式推断类型映射。

ProcessInExpressionValues(IEnumerable<Expression>)
已过时.

处理 InExpression 值。

TryGenerateBinaryOperator(ExpressionType, String)
已过时.

尝试为给定表达式类型生成二进制运算符。

VisitAlias(AliasExpression)

访问 AliasExpression。

VisitBinary(BinaryExpression)

访问 BinaryExpression。

VisitCase(CaseExpression)

访问事例表达式。

VisitColumn(ColumnExpression)

访问 ColumnExpression。

VisitColumnReference(ColumnReferenceExpression)

访问 ColumnReferenceExpression。

VisitConditional(ConditionalExpression)

访问 ConditionalExpression。

VisitConstant(ConstantExpression)

访问 ConstantExpression。

VisitCount(CountExpression)

访问 CountExpression

VisitCrossJoin(CrossJoinExpression)

访问 CrossJoin 表达式。

VisitCrossJoinLateral(CrossJoinLateralExpression)

访问 CrossJoinLateralExpression 表达式。

VisitExists(ExistsExpression)

访问 ExistsExpression。

VisitExplicitCast(ExplicitCastExpression)

访问 SQL ExplicitCastExpression。

VisitFromSql(FromSqlExpression)

访问 FromSqlExpression。

VisitIn(InExpression)

访问 InExpression。

VisitInnerJoin(InnerJoinExpression)

访问 InnerJoinExpression。

VisitIsNotNull(IsNullExpression)

访问 IsNotNullExpression。

VisitIsNull(IsNullExpression)

访问 IsNullExpression。

VisitLateralJoin(LateralJoinExpression)

访问 LateralJoin 表达式。

VisitLeftOuterJoin(LeftOuterJoinExpression)

访问 LeftOuterJoinExpression。

VisitLike(LikeExpression)

访问 LikeExpression。

VisitMax(MaxExpression)

访问 MaxExpression。

VisitMin(MinExpression)

访问 MinExpression。

VisitNotIn(InExpression)

访问否定的 InExpression。

VisitParameter(ParameterExpression)

访问 ParameterExpression。

VisitProjection(IReadOnlyList<Expression>)

访问投影。

VisitPropertyParameter(PropertyParameterExpression)

访问 PropertyParameterExpression。

VisitSelect(SelectExpression)

访问顶级 SelectExpression。

VisitSqlFragment(SqlFragmentExpression)

访问 SqlFragmentExpression。

VisitSqlFunction(SqlFunctionExpression)

访问 SqlFunctionExpression。

VisitStringCompare(StringCompareExpression)

访问 StringCompareExpression。

VisitSum(SumExpression)

访问 SumExpression。

VisitTable(TableExpression)

访问 TableExpression。

VisitUnary(UnaryExpression)

访问 UnaryExpression。

适用于