使用Entity Framework时如何处理数据库迁移

5
我们正在使用C#构建一个应用程序,该应用程序使用Entity Framework和SQL Server 2008。我们使用Visual Studio中的设计师来设计模型,并从中自动生成实体。
我们正在开发1.0版本。当我们发布2.0版本时,我们需要对模型和底层数据库结构进行更改。我猜我们需要所谓的“数据库迁移”。
传统上,我在数据库中有一个名为“version”的表。每当我创建新版本的软件时,我都会创建包含ALTER TABLE语句的数据库升级脚本。我的软件检查版本表并运行所需的升级脚本以将数据库升级到“软件版本”。
有没有更好的处理方式?如果我不必自己编写alter table脚本并编写自己的软件来升级数据库结构,那就太好了。
2个回答

0

很酷。但如果解决方案今天就能使用模型优先的方法而不是在将来用代码优先的方式,那就更酷了。;-) - Martin
我同意并且希望这个功能不仅限于code-first,而且也能扩展到model-first。我真的很希望它尽快发布。这可能更多地是一个FYI回答而不是一个解决方案。希望有人知道类似的当前情况。 - gligoran

0
我以前使用模型优先时,是将我的模型指向一个纯粹用于架构的数据库(因此我有一个名为myapp的数据库,用于运行我的应用程序,但我的EF4模型被输出到一个名为myapp_schema的数据库)。 当更新myapp_schema时,我使用Db Source Tools生成更新脚本,并使myapp的数据库架构与myapp_schema相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接