System.Data.Entity.Database有没有办法在不使用预先创建的脚本的情况下创建自己?

时间:2017-12-08 15:16:57

标签: c# asp.net .net sql-server entity-framework

我尝试创建一个自动数据库部署系统,其中只有DbConext被检入源控件,创建了具有相应模式的数据库,然后从中同步环境中的实时数据库。我从

开始
using(var context = new MyDbContext("ScriptDb")
{
    context.Database.Create();
    Sync("ScriptDb", "LiveDb"); // not implemented yet
}

但是我看到Create()只运行我创建的迁移脚本。因此,如果我在没有从nuget命令行运行MyDbContext的情况下对Add-Migration进行了更改,则它不会显示在ScriptDb中。

我想知道在没有迁移脚本的情况下是否有办法Create()。因为我在源代码管理中使用迁移脚本时遇到的问题是,如果有DoSomeUpdate_8738913.cs这样的脚本包含类似

的行

context.SomeEntites.Insert(new SomeEntity() { SomeValue = SomeEnum.SomeValue })

然后,如果我想从我的代码库中删除SomeEnum.SomeValue,我不能,因为它需要成为迁移历史记录的一部分。我的问题有意义吗?

0 个答案:

没有答案