Code-First Migrations随Entity Framework 4.3一同发布
openkk 13年前
<p align="justify"> <a href="/misc/goto?guid=4958330123337623595">Entity Framework 4.3</a> 版本终于为开发者带来了迁移(Migrations)功能,从此以后使用 EF 不必依赖于单独预发布的迁移库了。</p> <p align="justify"> 什么是 EF 迁移呢?如果你正在使用 <a href="/misc/goto?guid=4958326258851571681">Entity Framework Code-First</a>,那么借助迁移功能,你可以不需要删除再重新创建数据库模式(database schema),而只要通过更新就能将改动映射到你的 <a href="/misc/goto?guid=4958331420408341078">POCO</a> 类中。该过程包含生成 DDL 语句创建新的表和列,改变已有的表和列等等。虽然迁移功能作为 <a href="/misc/goto?guid=4958331421198133158">Nuget 包</a>开放已经有了一阵子(如果出于某些遗留原因,你还在使用低版本的 Entity Framework,那么你还可以继续使用那个 Nuget 包),但是它并没有得到微软的官方支持。</p> <p align="justify"> 有一段时间,迁移一直是 Entity Framework<a href="/misc/goto?guid=4958328964107892690">呼声最高的功能</a>之一。</p> <p align="justify"> MSDN 团队博客还分别介绍了<a href="/misc/goto?guid=4958331422738405964">自动迁移</a>和<a href="/misc/goto?guid=4958331423535339107">基于代码的迁移</a>。前者——自动迁移(Automatic Migrations)使用了 Visual Studio 内置功能以及基于代码的迁移;而后者——基于代码的迁移(Code Based migrations)使用的是纯代码的方式。理想情况下,只有在需要覆写默认行为时,例如重命名列名而不是删除再创建一个新的列,或者为增加的列提供默认值时,你才会用得到基于代码的迁移。</p> <p align="justify"> 另外,迁移还能够创建用于生产数据库的部署脚本。</p> <p align="justify"> <a href="/misc/goto?guid=4958331424333418626">Entity Framework</a> 是微软为 .NET 应用程序提供的对象关系映射器。</p> <p> <strong>查看英文原文:</strong><a href="/misc/goto?guid=4958331425134811415">http://www.infoq.com/news/2012/02/migrations</a></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958331425918540627" target="_blank">InfoQ</a> </div>