语言

MigrationsSqlGenerator 类

定义

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

public class MigrationsSqlGenerator : Microsoft.EntityFrameworkCore.Migrations.IMigrationsSqlGenerator
[System.Runtime.CompilerServices.Nullable(0)]
public class MigrationsSqlGenerator : Microsoft.EntityFrameworkCore.Migrations.IMigrationsSqlGenerator
type MigrationsSqlGenerator = class
    interface IMigrationsSqlGenerator
[<System.Runtime.CompilerServices.Nullable(0)>]
type MigrationsSqlGenerator = class
    interface IMigrationsSqlGenerator
Public Class MigrationsSqlGenerator
Implements IMigrationsSqlGenerator
继承
MigrationsSqlGenerator
派生
特性
实现

注解

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

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

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

构造函数

名称 说明
MigrationsSqlGenerator(IRelationalCommandBuilderFactory, ISqlGenerationHelper, IRelationalTypeMapper, IRelationalAnnotationProvider)

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

MigrationsSqlGenerator(MigrationsSqlGeneratorDependencies)

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

属性

名称 说明
Annotations

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

Dependencies

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

Options

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

SqlGenerationHelper

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

SqlGenerator

IUpdateSqlGenerator。

TypeMapper

在对象中 MigrationCommand 生成 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, Boolean)

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

Generate(AddColumnOperation, IModel, MigrationCommandListBuilder)

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

Generate(AddForeignKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(AddForeignKeyOperation, IModel, MigrationCommandListBuilder)

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

Generate(AddPrimaryKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(AddPrimaryKeyOperation, IModel, MigrationCommandListBuilder)

通过对给定的调用为给定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, Boolean)

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

Generate(CreateIndexOperation, IModel, MigrationCommandListBuilder)

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

Generate(CreateSequenceOperation, IModel, MigrationCommandListBuilder)

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

Generate(CreateTableOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(CreateTableOperation, IModel, MigrationCommandListBuilder)

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

Generate(DeleteDataOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropCheckConstraintOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropColumnOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(DropColumnOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropForeignKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(DropForeignKeyOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropIndexOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(DropIndexOperation, IModel, MigrationCommandListBuilder)

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

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

Generate(DropPrimaryKeyOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(DropPrimaryKeyOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropSchemaOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropSequenceOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropTableOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(DropTableOperation, IModel, MigrationCommandListBuilder)

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

Generate(DropUniqueConstraintOperation, IModel, MigrationCommandListBuilder)

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

Generate(EnsureSchemaOperation, IModel, MigrationCommandListBuilder)

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

Generate(InsertDataOperation, IModel, MigrationCommandListBuilder, Boolean)

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

Generate(InsertDataOperation, IModel, MigrationCommandListBuilder)

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

Generate(IReadOnlyList<MigrationOperation>, IModel, MigrationsSqlGenerationOptions)

从操作列表中生成命令。

Generate(IReadOnlyList<MigrationOperation>, IModel)

从操作列表中生成命令。

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)

从 a CreateIndexOperation. 返回索引的列列表的 SQL 片段。

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)

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

IndexOptions(CreateIndexOperation, IModel, MigrationCommandListBuilder)

为索引 CreateIndexOperation的附加项(筛选器、包含的列、选项)生成 SQL 片段。

IndexOptions(MigrationOperation, IModel, MigrationCommandListBuilder)

为索引 CreateIndexOperation的附加项(筛选器、包含的列、选项)生成 SQL 片段。

IndexTraits(MigrationOperation, IModel, MigrationCommandListBuilder)

为索引的特征从或 /> 生成 SQL 片段。

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, Boolean)

使用给定选项生成配置序列的 SQL 片段。

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

使用给定选项生成配置序列的 SQL 片段。

TryGetVersion(IModel, String)

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

UniqueConstraint(AddUniqueConstraintOperation, IModel, MigrationCommandListBuilder)

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

适用于