我如何使用Entity Framework 4.2执行数据库迁移?

我刚开始潜入ASP.net MVC3。 我来自Django背景。 我喜欢Django的其中一件事就是名为“South”的插件。 它允许我在代码中修改我的模型,然后运行一条命令,找出发生了什么变化,并相应地更新数据库。

如果我在EF4中使用“代码优先”方法添加,删除或重命名字段,会发生什么情况? 它只是添加或删除字段,就是这样吗? 如果我想要做一些事情,比如添加一个新字段,然后运行Linq-to-SQL查询来填充新字段,然后删除旧字段? 我想要记录这一点,以便在我的生产服务器上部署更改时,它会按顺序运行这3个命令。

有没有这样的事情? 或者人们如何处理这样的情况? (这很常见......)


编辑:找到一些链接。

  • https://softwareengineering.stackexchange.com/questions/76082/is-entity-framework-code-first-a-bit-meaningless-useless-in-production-and-what
  • http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx
  • 首先使用EF4代码:如何更改模型而不会丢失数据
  • 使用EF 4.1部署数据库更改
  • https://github.com/dradovic/MigSharp
  • http://blogs.msdn.com/b/adonet/archive/2011/09/21/code-first-migrations-alpha-3-with-magic-walkthrough-automatic-migrations.aspx(Woo!)

  • 以下是来自微软MVP大卫海登的精彩教程:
    http://www.davidhayden.me/blog/asp.net-mvc-4-and-entity-framework-database-migrations

    不知道4.2 - 但我安装了最新的EF(4.3.1),它的工作就像一个魅力。

    令人印象深刻 - 我是一个Rails家伙:P


    发生什么取决于您的初始化,我将使用点网络方式讨论“标准”。

    深入探究:

    数据库初始化策略 - 查看顶部,这里使用了“DropCreateDatabaseAlways”,所以它会一直删除数据库并重新创建它(还有其他可能性)。 - 它说EF如何应对数据库更改。

    以下是可能的数据库初始化

    如果你想迁移,有两种方式: - 魔术 - 没有魔法

    你应该知道的是,迁移实际上是1周(EF 4.2),它已经在EF 4.1中实现,尽管没有完全支持(不同的DB,...),但它正在改进。

    这取决于你有多少时间,但我正在等待实施4.2和EF迁移,我将在本周末的“测试项目”中实施它,看看是否一切顺利并回应Ado .Net团队博客(请参阅Magic - No-Magic的链接)。 虽然我不认为会有任何问题。

    祝你好运:)

    链接地址: http://www.djcxy.com/p/15979.html

    上一篇: How can I perform database migration using Entity Framework 4.2?

    下一篇: Entity Framework Code First and SQL Azure Connections