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

Mar*_*tin 5 sql entity-framework-4 c#-4.0

我们正在C#中构建一个使用Entity Framework和SQL Server 2008的应用程序.我们使用Visual Studio中的设计器设计模型并从中自动生成实体.

我们正在开发1.0版本.当我们发布2.0时,我们需要对模型和底层数据库结构进行更改.我想我们需要所谓的"数据库迁移".

传统上,我在数据库中有一个名为'version'的表.每当我创建新版本的软件时,我都创建了包含ALTER TABLE语句的数据库升级脚本.我的软件已检查版本表并运行将数据库升级到"软件版本"所需的升级脚本.

有没有更好的方法来处理这个?如果我不必自己编写alter table-scripts并编写自己的软件来升级数据库结构,那就太好了.

Kal*_*exx 0

当我首先进行建模时,我所做的是将我的模型指向一个纯粹用于模式的数据库(所以我有一个 myapp 数据库,这是我的应用程序运行的地方,但我的 EF4 模型被输出到 myapp_schema 数据库) 。当 myapp_schema 更新时,我使用Db Source Tools生成更新脚本并使 myapp 的数据库架构与 myapp_schema 相同。