EF Migrations

使用:
Tools -> Library Package Manager -> Package Manager Console
Run the Enable-Migrations command in Package Manager Console

生成初始化的数据库结构代码文件

Enable-Migrations -StartUpProjectName Freedom.Repository
修改Model, 执行命令Add-Migration SomeThing 比较数据库的变化, 产生一个新的递增的数据库代码文件
执行Update-Database命令更新数据库

Update-Database -Script,显示用于更新数据库结构的相关 sql 代码
【比较扯淡的一件事情:莫名其妙不让我update-database,说
Unable to update database to match the current model because there are pending changes
老子clean solution后重新编译就好了】

执行Update-Database -Verbose 增加命令的可读性。

Enable-Migrations -Force 可以强制回到初始状态,这样就可以删除表,重新创建表和测试数据

如果数据层在不同的Project, 只要在工具里面把Default Project改成数据层所在的Project

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

 * 关于 Code First 下自动更新数据库结构(Automatic Migrations)的相关说明如下:
 * 注:需要通过 NuGet 的 Package Manager Console 输入相关命令
 * 
 * 在更新了实体结构后输入如下命令
 * 1、Enable-Migrations
 *     启动迁移功能,会在项目根目录下生成 Migrations 文件夹,其内通常会有两个文件
 *     1. Configuration.cs - 相关配置,如是否需要自动迁移(默认为 false)等
 *     2. 201202290715581_InitialCreate.cs - 未迁移前的数据结构,前半部分为时间戳
 *     
 * 2、Add-Migration -StartupProjectName EF43
 *     在指定的项目中增加一个迁移点,此命令后会要求输入一个 Name 参数,此参数的值为迁移点名称
 *     假设输入的迁移点名称为 MyFirstTest 则会生成一个类似如下的文件 201202290718442_MyTestFirst.cs,其包含两个方法 Up() 和 Down(),分别用于此迁移点的升级和降级
 *     
 * 3、Update-Database -StartupProjectName EF43(将指定的项目的数据库结构升级到最新)
 *     Update-Database -TargetMigration:"201202290718442_MyTestFirst",将当前数据库结构升级到此迁移点(无参数 -TargetMigration 则为升级到最新)
 *     Update-Database -Script,显示用于更新数据库结构的相关 sql 代码
 *     Update-Database -Script -SourceMigration:"aaa" -TargetMigration:"bbb",显示将迁移点“aaa”升/降级到迁移点“bbb”的相关 sql 代码
 *     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值