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