数据层使用EF,我曾经吃尽了苦头,后来的项目,我都使用数据库优先,只要更改数据库,然后更改模型,还是比较好使,特别是充分利用t4模版生成代码,非常的方便。
近日,看见一堆的Code First,捉摸看看。
我还是比较关心数据库的改变,因为我们的工作中,增加字段、删除字段、修改字段长度,非常的频繁。
于是,先看看网上各位大拿的博客看看,然后再写写demo,其实vs2013中已经改了很多bug,没有那么麻烦了,目前只需要四步就可以:
第一步,打开程序包管理器控制台
在vs2013IDE中,工具-->库程序包管理器-->程序包管理器控制台
第二步,在命令行输入Enable-Migrations -Force -ContextTypeName MvcMovie.Models.MovieDBContext,然后回车
A、MvcMovie.Models.MovieDBContext为你的工程.Models.数据库上下文
B、运行之后,在解决方案中增加一个文件夹Migrations及文件Configuration.cs
C、修改Migrations中的Configuration.cs为
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
就是改变属性为true.
第三步,在命令行输入add-migration Initial ,然后回车
运行add-migration Initial 在工程中生成201312200122593_Initial.cs样式的文件,打开一看,就是实体的变化情况。
第四步,在命令行输入update-database,然后回车
这几步,看似复杂,实际简单。
在EF6中,已经不需要删除数据、删除记录等等情况,这些bug已经不存在,只是没有一个好的入库一个右键罢了,相信右键很快就会有了。