【发布时间】:2017-11-26 01:47:21
【问题描述】:
这是一个简单的问题:是否可以使用MySqlMigrationSqlGenerator 为 mysql 创建自定义迁移操作?由于MySqlMigrationSqlGenerator 类没有像SqlServerMigrationSqlGenerator 那样实现Statement 方法,我怎么可能做到呢?
【问题讨论】:
标签: c# mysql entity-framework-6
这是一个简单的问题:是否可以使用MySqlMigrationSqlGenerator 为 mysql 创建自定义迁移操作?由于MySqlMigrationSqlGenerator 类没有像SqlServerMigrationSqlGenerator 那样实现Statement 方法,我怎么可能做到呢?
【问题讨论】:
标签: c# mysql entity-framework-6
您可以覆盖 MySqlMigrationSqlGenerator 中的 Generete 方法,并获得如下方法:
protected override MigrationStatement Generate(CreateTableOperation op) => base.Generate(op);
MigrationStatement 有一个Sql 字符串属性。您可以将自己的 Sql 添加到此 Sql 属性。即:
protected override MigrationStatement Generate(CreateTableOperation op)
{
MigrationStatement statement = base.Generate(op);
if(/*Your condition */)
{
statement.Sql += $@"; {/*Your Sql*/};";
}
return statement;
}
【讨论】: