MigrationsSqlGenerator 类

定义

在 对象中 MigrationCommand 生成 SQL,这些 SQL 随后可以从 列表 MigrationOperation执行或编写脚本。

public class MigrationsSqlGenerator : Microsoft.EntityFrameworkCore.Migrations.IMigrationsSqlGenerator
type MigrationsSqlGenerator = class
    interface IMigrationsSqlGenerator
Public Class MigrationsSqlGenerator
Implements IMigrationsSqlGenerator
继承
MigrationsSqlGenerator
派生
实现

注解

此类通常由数据库提供程序继承,用于自定义 SQL 生成。

服务生存期为 Scoped。 这意味着每个 DbContext 实例都将使用此服务自己的实例。 实现可能依赖于使用任何生存期注册的其他服务。 实现不需要是线程安全的。

有关详细信息和示例 ,请参阅数据库迁移

构造函数

MigrationsSqlGenerator(IRelationalCommandBuilderFactory, ISqlGenerationHelper, IRelationalTypeMapper, IRelationalAnnotationProvider)

在 对象中 MigrationCommand 生成 SQL,这些 SQL 随后可以从 列表 MigrationOperation执行或编写脚本。

MigrationsSqlGenerator(MigrationsSqlGeneratorDependencies)

使用给定的依赖项创建新 MigrationsSqlGenerator 实例。

属性

Annotations

在 对象中 MigrationCommand 生成 SQL,这些 SQL 随后可以从 列表 MigrationOperation执行或编写脚本。

Dependencies

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

Options

获取或设置生成命令时要使用的选项。

SqlGenerationHelper

在 对象中 MigrationCommand 生成 SQL,这些 SQL 随后可以从 列表 MigrationOperation执行或编写脚本。

SqlGenerator

IUpdateSqlGenerator

TypeMapper

在 对象中 MigrationCommand 生成 SQL,这些 SQL 随后可以从 列表 MigrationOperation执行或编写脚本。

VersionComparer

获取可用于比较两个产品版本的比较器。

方法

CheckConstraint(AddCheckConstraintOperation, IModel, MigrationCommandListBuilder)

为 的检查约束AddCheckConstraintOperation生成 SQL 片段。

CheckConstraint(CreateCheckConstraintOperation, IModel, MigrationCommandListBuilder)

为 的检查约束CreateCheckConstraintOperation生成 SQL 片段。

ColumnDefinition(AddColumnOperation, IModel, MigrationCommandListBuilder)

为 中的 AddColumnOperation列定义生成 SQL 片段。

ColumnDefinition(String, String, String, ColumnOperation, IModel, MigrationCommandListBuilder)

为给定列元数据的列定义生成 SQL 片段。

ColumnDefinition(String, String, String, Type, String, Nullable<Boolean>, Nullable<Int32>, Boolean, Boolean, Object, String, String, IAnnotatable, IModel, MigrationCommandListBuilder)

为给定列元数据的列定义生成 SQL 片段。

ColumnDefinition(String, String, String, Type, String, Nullable<Boolean>, Nullable<Int32>, Nullable<Boolean>, Boolean, Boolean, Object, String, String, IAnnotatable, IModel, MigrationCommandListBuilder)

为给定列元数据的列定义生成 SQL 片段。

ColumnList(String[])

将给定列名串联到分隔 DelimitIdentifier(String) 列表中。

ComputedColumnDefinition(String, String, String, ColumnOperation, IModel, MigrationCommandListBuilder)

为给定列元数据的计算列定义生成 SQL 片段。

CreateTableCheckConstraints(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 的检查约束CreateTableOperation生成 SQL 片段。

CreateTableColumns(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 中的 CreateTableOperation列定义生成 SQL 片段。

CreateTableConstraints(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 的约束 CreateTableOperation生成 SQL 片段。

CreateTableForeignKeys(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 的外键约束 CreateTableOperation生成 SQL 片段。

CreateTablePrimaryKeyConstraint(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 的主键约束 CreateTableOperation生成 SQL 片段。

CreateTableUniqueConstraints(CreateTableOperation, IModel, MigrationCommandListBuilder)

为 的唯一 CreateTableOperation约束生成 SQL 片段。

DefaultValue(Object, String, MigrationCommandListBuilder)

为列的默认约束生成 SQL 片段。

DefaultValue(Object, String, String, MigrationCommandListBuilder)

为列的默认约束生成 SQL 片段。

EndStatement(MigrationCommandListBuilder, Boolean)

生成 SQL 片段以终止 SQL 命令。

FindEntityTypes(IModel, String, String)
已过时。.

查找映射到给定表的所有 IEntityType

FindProperty(IModel, String, String, String)
已过时。.

查找映射到给定列的一些 IProperty

如果多个属性映射到同一列,则返回的属性是任意选择的一个属性。 模型验证程序可确保映射到给定列的所有属性都具有一致的配置。

ForeignKeyAction(ReferentialAction, MigrationCommandListBuilder)

为给定引用操作生成 SQL 片段。

ForeignKeyConstraint(AddForeignKeyOperation, IModel, MigrationCommandListBuilder)

为 的外键约束 AddForeignKeyOperation生成 SQL 片段。

Generate(AddCheckConstraintOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AddCheckConstraintOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AddColumnOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AddColumnOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AddColumnOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 AddColumnOperationMigrationCommandListBuilder的命令。

Generate(AddForeignKeyOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AddForeignKeyOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AddForeignKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 AddForeignKeyOperationMigrationCommandListBuilder的命令。

Generate(AddPrimaryKeyOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AddPrimaryKeyOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AddPrimaryKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 AddPrimaryKeyOperationMigrationCommandListBuilder的命令。

Generate(AddUniqueConstraintOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AddUniqueConstraintOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AlterColumnOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 AlterColumnOperationMigrationCommandListBuilder生成命令。

Generate(AlterDatabaseOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 AlterDatabaseOperationMigrationCommandListBuilder生成命令。

Generate(AlterSequenceOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 AlterSequenceOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(AlterTableOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 AlterTableOperationMigrationCommandListBuilder生成命令。

Generate(CreateCheckConstraintOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 CreateCheckConstraintOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(CreateIndexOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 CreateIndexOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(CreateIndexOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 CreateIndexOperationMigrationCommandListBuilder的命令。

Generate(CreateSequenceOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 CreateSequenceOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(CreateTableOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 CreateTableOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(CreateTableOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 CreateTableOperationMigrationCommandListBuilder的命令。

Generate(DeleteDataOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DeleteDataOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropCheckConstraintOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropCheckConstraintOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropColumnOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropColumnOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropColumnOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 DropColumnOperationMigrationCommandListBuilder的命令。

Generate(DropForeignKeyOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropForeignKeyOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropForeignKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 DropForeignKeyOperationMigrationCommandListBuilder的命令。

Generate(DropIndexOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 DropIndexOperationMigrationCommandListBuilder生成命令。

请注意,此方法的默认实现将引发 NotImplementedException。 如果提供程序要支持此类操作,则必须重写它们。

Generate(DropIndexOperation, IModel, MigrationCommandListBuilder, Boolean)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 DropIndexOperationMigrationCommandListBuilder生成命令。

Generate(DropPrimaryKeyOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropPrimaryKeyOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropPrimaryKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 DropPrimaryKeyOperationMigrationCommandListBuilder的命令。

Generate(DropSchemaOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropSchemaOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropSequenceOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropSequenceOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropTableOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropTableOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(DropTableOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 DropTableOperationMigrationCommandListBuilder的命令。

Generate(DropUniqueConstraintOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 DropUniqueConstraintOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(EnsureSchemaOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 EnsureSchemaOperationMigrationCommandListBuilder生成命令。

Generate(InsertDataOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 InsertDataOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(InsertDataOperation, IModel, MigrationCommandListBuilder, Boolean)

通过在给定 的 上调用来生成给定 InsertDataOperationMigrationCommandListBuilder的命令。

Generate(IReadOnlyList<MigrationOperation>, IModel)

从操作列表生成命令。

Generate(IReadOnlyList<MigrationOperation>, IModel, MigrationsSqlGenerationOptions)

从操作列表生成命令。

Generate(MigrationOperation, IModel, MigrationCommandListBuilder)

通过在给定 的 上调用来生成给定 MigrationOperationMigrationCommandListBuilder的命令。

Generate(RenameColumnOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 RenameColumnOperationMigrationCommandListBuilder生成命令。

Generate(RenameIndexOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 RenameIndexOperationMigrationCommandListBuilder生成命令。

Generate(RenameSequenceOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 RenameSequenceOperationMigrationCommandListBuilder生成命令。

Generate(RenameTableOperation, IModel, MigrationCommandListBuilder)

数据库提供程序可以通过对给定 的 调用来重写,以便为给定 RenameTableOperationMigrationCommandListBuilder生成命令。

Generate(RestartSequenceOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 RestartSequenceOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(SqlOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 SqlOperationMigrationCommandListBuilder的命令,然后终止最终命令。

Generate(UpdateDataOperation, IModel, MigrationCommandListBuilder)

通过对给定 的 调用来生成给定 UpdateDataOperationMigrationCommandListBuilder的命令,然后终止最终命令。

GenerateIndexColumnList(CreateIndexOperation, IModel, MigrationCommandListBuilder)

从 返回索引的列列表的 CreateIndexOperationSQL 片段。

GenerateModificationCommands(DeleteDataOperation, IModel)

生成对应于给定操作的命令。

GenerateModificationCommands(InsertDataOperation, IModel)

生成对应于给定操作的命令。

GenerateModificationCommands(UpdateDataOperation, IModel)

生成对应于给定操作的命令。

GetColumnType(String, String, String, ColumnOperation, IModel)

获取给定提供的元数据的列的存储/数据库类型。

GetColumnType(String, String, String, Type, Nullable<Boolean>, Nullable<Int32>, Boolean, IModel)

获取给定提供的元数据的列的存储/数据库类型。

GetColumnType(String, String, String, Type, Nullable<Boolean>, Nullable<Int32>, Nullable<Boolean>, Boolean, IModel)

获取给定提供的元数据的列的存储/数据库类型。

HasLegacyRenameOperations(IModel)

RenameTableOperation检查是否并使用RenameSequenceOperation旧行为,即在未更改时将新名称和架构设置为 null。

IndexOptions(CreateIndexOperation, IModel, MigrationCommandListBuilder)

为来自 CreateIndexOperation的索引的额外 (筛选器、包含的列、选项) 生成 SQL 片段。

IndexTraits(MigrationOperation, IModel, MigrationCommandListBuilder)

从 、 AddPrimaryKeyOperationAddUniqueConstraintOperation生成索引特征的 CreateIndexOperationSQL 片段。

IsOldColumnSupported(IModel)

检查是否 AddColumnOperation 支持传入仅在 EF Core 1.1 中添加的旧列。

PrimaryKeyConstraint(AddPrimaryKeyOperation, IModel, MigrationCommandListBuilder)

为 的主键约束 AddPrimaryKeyOperation生成 SQL 片段。

SequenceOptions(AlterSequenceOperation, IModel, MigrationCommandListBuilder)

生成在 中配置序列的 AlterSequenceOperationSQL 片段。

SequenceOptions(CreateSequenceOperation, IModel, MigrationCommandListBuilder)

生成在 中配置序列的 CreateSequenceOperationSQL 片段。

SequenceOptions(String, String, Int32, Nullable<Int64>, Nullable<Int64>, Boolean, IModel, MigrationCommandListBuilder)

生成一个 SQL 片段,该片段使用给定选项配置序列。

SequenceOptions(String, String, SequenceOperation, IModel, MigrationCommandListBuilder)

生成一个 SQL 片段,该片段使用给定选项配置序列。

TryGetVersion(IModel, String)

获取用于生成当前迁移的产品版本。 提供程序可以使用此功能来保持与使用以前版本生成的迁移的兼容性。

UniqueConstraint(AddUniqueConstraintOperation, IModel, MigrationCommandListBuilder)

为 的唯一约束 AddUniqueConstraintOperation生成 SQL 片段。

适用于