对于任何熟悉 Python/Django 和 South 迁移模块的人,我正在尝试查找 asp.net MVC3 版本(如果存在)。
我想要完成的是创建一个实体,插入数据,并在将来更改我的模型并使数据库适本地合并新数据。我想避免手动 SQL 更改。
这在 C# 中存在并且可靠吗?我读过一些有关 DBInitializers 的内容,每次实体需要更新时,我都不太愿意删除所有数据(无论是否测试数据)。
如果第三方包拥有活跃的用户群,那么它是一个可接受的解决方案(最好来自 NuGet)。
最佳答案
听起来您正在寻找一个好的组合 ORM 和迁移工具。我对 Django 不是很熟悉,但是我用 Rails 做过一些工作,乍一看 South 看起来有点像 ActiveRecord + rake。听起来准确吗?
我使用过的最好的 .NET ORM 是 EntityFramework 4.1(即 - EF Code First),可用 here 。它恰好是 NuGet 上下载次数最多的包。
Microsoft 发布了 EF 迁移包 also available on NuGet 。斯科特·哈内斯曼 blogged不久前的事。
您还可以查看NHibernate正如一些人所发誓的那样。我个人从未使用过它,但我听说过很棒的东西。
希望这能让您朝着正确的方向开始。
//编辑
在 NuGet 上进行了更多的挖掘,我偶然发现了 Fluent Migrator这看起来很有希望。目前也许是 EF 迁移包的更好替代方案...
关于ASP.NET MVC3 模型的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7601586/