UpdateSqlGenerator 类

定义

通常由数据库提供程序继承的服务的 IUpdateSqlGenerator 基类。 实现使用 SQL RETURNING 子句检索任何数据库生成的值或进行并发检查。

此类型通常由数据库提供程序使用;它通常不用于应用程序代码。

public abstract class UpdateSqlGenerator : Microsoft.EntityFrameworkCore.Update.IUpdateSqlGenerator
type UpdateSqlGenerator = class
    interface IUpdateSqlGenerator
type UpdateSqlGenerator = class
    interface IUpdateSqlGenerator
    interface ISingletonUpdateSqlGenerator
Public MustInherit Class UpdateSqlGenerator
Implements IUpdateSqlGenerator
继承
UpdateSqlGenerator
派生
实现
IUpdateSqlGenerator Microsoft.EntityFrameworkCore.Update.Internal.ISingletonUpdateSqlGenerator

注解

服务生存期为 Singleton。 这意味着单个实例由许多 DbContext 实例使用。 实现必须是线程安全的。 此服务不能依赖于注册为 的服务 Scoped

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现

构造函数

UpdateSqlGenerator(ISqlGenerationHelper)

通常由数据库提供程序继承的服务的 IUpdateSqlGenerator 基类。 实现使用 SQL RETURNING 子句检索任何数据库生成的值或进行并发检查。

此类型通常由数据库提供程序使用;它通常不用于应用程序代码。

UpdateSqlGenerator(UpdateSqlGeneratorDependencies)

初始化此类的新实例。

属性

Dependencies

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

SqlGenerationHelper

生成更新 SQL 的帮助程序。

方法

AppendBatchHeader(StringBuilder)

追加定义批开始的 SQL 文本。

AppendDeleteCommand(StringBuilder, String, String, IReadOnlyList<ColumnModification>)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>, Boolean)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteCommandHeader(StringBuilder, String, String)

追加用于启动 的 DELETESQL 片段。

AppendDeleteOperation(StringBuilder, IReadOnlyModificationCommand, Int32)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteOperation(StringBuilder, ModificationCommand, Int32)

将用于删除行的 SQL 命令追加到正在生成的命令中。

AppendDeleteReturningOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

通过包含用于并发检查的 RETURNING 子句的 DELETE,将用于删除行的 SQL 追加到正在生成的命令中。

AppendFromClause(StringBuilder, String, String)

追加用于启动子句的 FROM SQL 片段。

AppendIdentityWhereCondition(StringBuilder, ColumnModification)

WHERE追加标识 (条件,即给定列) 键值。

AppendIdentityWhereCondition(StringBuilder, IColumnModification)

WHERE追加标识 (条件,即给定列) 键值。

AppendInsertCommand(StringBuilder, String, String, IReadOnlyList<ColumnModification>)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertCommandHeader(StringBuilder, String, String, IReadOnlyList<ColumnModification>)

追加用于启动 的 INSERTSQL 片段。

AppendInsertCommandHeader(StringBuilder, String, String, IReadOnlyList<IColumnModification>)

追加用于启动 的 INSERTSQL 片段。

AppendInsertOperation(StringBuilder, IReadOnlyModificationCommand, Int32)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertOperation(StringBuilder, ModificationCommand, Int32)

追加一个 SQL 命令,用于在生成的命令中插入行。

AppendInsertReturningOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

通过包含可选 RETURNING 子句的 INSERT 来检索数据库生成的任何值,将 SQL 追加到要生成的命令中插入行。

AppendNextSequenceValueOperation(StringBuilder, String, String)

生成一个 SQL 片段,该片段将从给定序列中获取下一个值,并将其追加到由给定 StringBuilder生成的完整命令中。

AppendObtainNextSequenceValueOperation(StringBuilder, String, String)

生成一个 SQL 片段,该片段将从给定序列中获取下一个值,并将其追加到由给定 StringBuilder生成的完整命令中。

AppendReturningClause(StringBuilder, IReadOnlyList<IColumnModification>, String)

追加用于从 INSERT 或 UPDATE 语句返回生成的值的子句。

AppendRowsAffectedWhereCondition(StringBuilder, Int32)

追加 WHERE 条件检查受影响的行。

AppendSelectAffectedCommand(StringBuilder, String, String, IReadOnlyList<ColumnModification>, IReadOnlyList<ColumnModification>, Int32)

追加用于选择受影响数据的 SQL 命令。

AppendSelectAffectedCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>, Int32)

追加用于选择受影响数据的 SQL 命令。

AppendSelectAffectedCountCommand(StringBuilder, String, String, Int32)

追加 SQL 命令以选择受影响的行数。

AppendSelectCommandHeader(StringBuilder, IReadOnlyList<ColumnModification>)

追加用于启动 的 SELECTSQL 片段。

AppendSelectCommandHeader(StringBuilder, IReadOnlyList<IColumnModification>)

追加用于启动 的 SELECTSQL 片段。

AppendSqlLiteral(StringBuilder, IColumnModification, String, String)

将 的文本 modification 值追加到 由 commandStringBuilder生成的命令中。

AppendStoredProcedureCall(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

追加 SQL 以调用存储过程。

AppendUpdateColumnValue(ISqlGenerationHelper, IColumnModification, StringBuilder, String, String)

追加一个 SQL 片段,表示分配给正在更新的列的值。

AppendUpdateCommand(StringBuilder, String, String, IReadOnlyList<ColumnModification>, IReadOnlyList<ColumnModification>)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateCommand(StringBuilder, String, String, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>, IReadOnlyList<IColumnModification>, Boolean)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateCommandHeader(StringBuilder, String, String, IReadOnlyList<ColumnModification>)

追加用于启动 的 UPDATESQL 片段。

AppendUpdateCommandHeader(StringBuilder, String, String, IReadOnlyList<IColumnModification>)

追加用于启动 的 UPDATESQL 片段。

AppendUpdateOperation(StringBuilder, IReadOnlyModificationCommand, Int32)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateOperation(StringBuilder, ModificationCommand, Int32)

将用于更新行的 SQL 命令追加到正在生成的命令。

AppendUpdateReturningOperation(StringBuilder, IReadOnlyModificationCommand, Int32, Boolean)

通过包含 RETURNING 子句的 UPDATE 来检索任何数据库生成的值或进行并发检查,将 SQL 追加用于更新所生成的命令的行。

AppendValues(StringBuilder, IReadOnlyList<ColumnModification>)

在调用后 AppendValuesHeader(StringBuilder, IReadOnlyList<ColumnModification>) 追加值。

AppendValues(StringBuilder, String, String, IReadOnlyList<ColumnModification>)

在调用后 AppendValuesHeader(StringBuilder, IReadOnlyList<ColumnModification>) 追加值。

AppendValues(StringBuilder, String, String, IReadOnlyList<IColumnModification>)

在调用后 AppendValuesHeader(StringBuilder, IReadOnlyList<IColumnModification>) 追加值。

AppendValuesHeader(StringBuilder, IReadOnlyList<ColumnModification>)

为 追加 SQL 片段 VALUES

AppendValuesHeader(StringBuilder, IReadOnlyList<IColumnModification>)

为 追加 SQL 片段 VALUES

AppendWhereAffectedClause(StringBuilder, IReadOnlyList<ColumnModification>)

追加涉及 WHERE 受影响的行的子句。

AppendWhereAffectedClause(StringBuilder, IReadOnlyList<IColumnModification>)

追加涉及 WHERE 受影响的行的子句。

AppendWhereClause(StringBuilder, IReadOnlyList<ColumnModification>)

追加子 WHERE 句。

AppendWhereClause(StringBuilder, IReadOnlyList<IColumnModification>)

追加子 WHERE 句。

AppendWhereCondition(StringBuilder, ColumnModification, Boolean)

WHERE 给定列追加条件。

AppendWhereCondition(StringBuilder, IColumnModification, Boolean)

WHERE 给定列追加条件。

GenerateNextSequenceValueOperation(String, String)

生成将获取给定序列中的下一个值的 SQL。

GenerateObtainNextSequenceValueOperation(String, String)

生成将获取给定序列中的下一个值的 SQL。

IsIdentityOperation(IColumnModification)

返回一个值,该值指示给定的修改是否表示自动递增列。

PrependEnsureAutocommit(StringBuilder)

为在数据库中启用自动提交模式(如果关闭)添加 SQL 命令。

适用于