我们正在使用Entity Framework的Database First方法。
我们有几个客户,当我们部署新产品版本时,我们现在使用像
EF迁移是否可以帮助自动将更改应用于客户端的数据库?
SQL Compare
这样的工具手动应用DB模式更改。EF迁移是否可以帮助自动将更改应用于客户端的数据库?
SQL Compare
这样的工具手动应用DB模式更改。public class MyDbContext : DbContext
{
public MyDbContext()
: base("Name=DefaultConnection")
{
}
// DbSets ...
}
将其更改为以下内容:
public class MyDbContext : DbContext
{
public MyDbContext()
: base("YourDbFileName")
{
}
// DbSets ...
}
从Entity Framework 4.1开始,您可以使用现有数据库的Code First迁移。
因此,首先您需要有数据库,创建模型,启用迁移。
最重要的是要记住,在对架构进行任何更改之前,应该运行Enable-Migrations,因为它应该在您的数据库和代码之间同步。
只需查找您的DbContext子对象并查找此方法:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
throw new UnintentionalCodeFirstException();
那么异常将不会在迁移操作上抛出。正如您所想象的那样,迁移将寻找此部分以了解每个实体与哪些表格的配置。
如果我没有提供足够的细节,对不起。如果您需要更多信息,我很乐意编辑并改进它!
System.NotSupportedException:不支持从使用Database First或Model First创建的DbContext创建DbModelBuilder或编写EDMX。只能从未使用现有DbCompiledModel创建的Code First DbContext获取EDMX。
- stigzler