asp.net - 使用EF 4.1部署数据库更改

标签 asp.net entity-framework-4 code-first entity-framework-4.1

是否有人在EF 4.1代码优先解决方案中部署数据库更改方面有最佳实践?我知道MS目前不支持EF 4.1的数据库迁移,但是显然人们将不时需要这样做。

谢谢

最佳答案

将数据库部署到生产环境后,必须进行增量更改。这意味着在部署下一个版本之前,必须在开发框中准备两个数据库:

带有数据库模式的

  • 数据库当前已在生产环境中部署-您应该能够从源代码控制中获得此数据库,因此请始终正确标记/标记生产版本
  • 带有新数据库模式的
  • 数据库

    一旦拥有两个数据库,就可以使用某种工具为您创建不同的SQL脚本。我两者都有经验:
  • Visual Studio 2010 Premium / Ultimate Database tools
  • Red Gate SQL Compare

  • 这些工具适用于SQL Server。

    一旦有了差异脚本,就可以在开发箱中对其进行测试。请注意,差异脚本无法创建一些更复杂的更改,并且要求您创建自定义迁移脚本,例如在重构实际表时将现有数据存储在临时表中。另外,如果您在新版本中使用了一些新的种子数据,则必须将它们手动添加到脚本中,或使用“数据比较”工具(两种产品也都提供)。

    之后,您可以计划生产应用程序,数据库备份的停机以及运行升级脚本。

    关于asp.net - 使用EF 4.1部署数据库更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861991/

    相关文章:

    ASP.NET Core 标识不发送电子邮件

    asp.net - 使用 EC2 和 Asp.Net 进行关键字搜索 Amazon SimpleDB 的最佳方式?

    javascript - AngularJS 处理 ASP.NET PartialView 的问题

    C# MVC 3 验证在特定 View 上失败

    entity-framework - 实体代码优先与共享主机生产数据库

    c# - 在 asp.net mvc 中没有删除 header 服务器

    asp.net - 如何在EF Code First中使用会籍提供者?

    wpf - 可为空的数据库属性,但删除内容时 texbox 仍显示红色边框

    code-first - Entity Framework 数据库模型 : How to map a one to many relationship using a connection table?

    entity-framework - 如何将 Entity Framework 包含扩展方法引入通用 IQueryable<TSource>