我一直在使用Entity Framework4,使用模型驱动的方法从我的实体生成数据库脚本。这很棒,但是当涉及到数据库版本控制时,我不确定它是如何工作的。我猜,如果我想使用活动记录类型的迁移框架,我必须以另一种方式工作,并从我的数据库生成我的实体?有没有办法使用模型驱动的方法并正确地对数据库进行版本控制?
发布于 2011-05-20 22:37:04
这将很快成为一个名为EntityFramework.Migrations的NuGet包
Scott Hanselman在TechEd 2011上进行了演示(可在http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV349在线获得)。相关部分为45分钟。
简而言之,安装软件包后,您将在package Manager控制台中输入以下内容,以生成数据库更改脚本:
migrate -script
更新(2011年11月13日)
这个包的Alpha3版本现在可以在NuGet上使用。它不使用上面提到的cmdlet migrate -script
,而是使用cmdlet Add-Migration <migrationname>
。可以在ADO.NET团队博客上找到walk-through of its use。
更新(2012年2月14日)
从4.3版开始,此功能已作为主EntityFramework NuGet package的一部分提供。可以在ADO.NET团队博客上找到使用EF 4.3的updated walk-through。
发布于 2010-03-11 21:38:49
您可以尝试Wizardby:这是一个用于管理数据库迁移的工具。它没有与EF集成(因为在这方面几乎不可能与它集成),但它可以完成这项工作。
发布于 2011-04-08 09:27:58
ScottGu在blog entry中提到了一些关于这方面的内容
我们还将在未来支持EF的“迁移”功能,这将允许您以编程方式自动化/编写数据库模式迁移。
编辑
我认为他可能指的是Morteza Manavi在another SO answer中回答的Entity Designer Database Generation Power Pack。
https://stackoverflow.com/questions/2198426
复制相似问题