微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 从EF 6 Code First迁移和多个配置生成完整的SQL脚本

我正在尝试生成一个完整的sql脚本来首次部署我的应用程序.我知道包管理器控制台中的这个命令应该创建一个完整的sql脚本(参见 this SO question)

Update-Database -Script -SourceMigration:0

我还读过$InitialDatabase应该用于源迁移而不是’0′.

但是,我的迁移文件夹中有两个配置.我正在使用以下语法:

Update-Database -Script -SourceMigration:0 -ConfigurationTypeName MyConfig

我正在为我的所有配置找回一个空脚本.

请注意,我已启用自动迁移,并且未向其添加任何显式迁移.

解决方法

在同一命名空间中具有两个迁移配置是不受支持的方案.最近我们以“按设计”关闭a bug similar to this.解决方法是将迁移配置放在不同的命名空间中.

解决此问题的最可靠方法是将配置放在不同的文件夹中并使用MigrationsDirectory变量,如下所示,然后为配置生成的任何显式迁移都应放在同一文件夹中

internal sealed class Configuration : DbMigrationsConfiguration<TestMultipleMigrationsScript.BlogContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
        MigrationsDirectory = @"directory";
    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐