【问题标题】:Entity Framework Code First Library and Database Update Implications实体框架代码优先库和数据库更新含义
【发布时间】:2014-03-26 17:10:51
【问题描述】:

我们最近开始使用实体框架来访问我们定期接触的所有各种数据库。我们已经建立了一系列图书馆项目,每个项目都有一个。对于他们中的许多人来说,我们正在访问已建立的不会更改的数据库,并且首先使用 DB 效果很好。

不过,对于某些项目,我们正在开发不断发展的数据库,这些数据库会定期添加新的字段和表格。因为这些库被多个项目使用(目前只有两个,但最终更多),在生产数据库上运行迁移需要重新发布使用该特定数据库库的两个/所有站点。未能在任何其他站点上更新库当然会产生支持上下文的模型已更改的错误。

每次对数据库进行更改时,我们如何才能有效地将 Code-First 库部署/更新到所有使用它们的站点?

【问题讨论】:

    标签: entity-framework deployment ef-code-first library-project


    【解决方案1】:

    一年后,这是我们想出并一直在使用的。

    我们现在在Application_Start() 方法中包含以下行:

    Database.SetInitializer<EFLib.MyHousing.MyHousingMVCContext>(null);
    

    如果当前的数据库模型与代码中的内容不完全匹配,这会导致它不匹配。虽然如果进行了非向后兼容的更改仍然存在问题的可能性,但当影响的更改与特定站点无关时,这允许添加新功能而无需重新部署使用这些库的每个站点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      相关资源
      最近更新 更多