关于Entity Framework Code First 在数据库迁移(Migrations)过程中遇到的命令使用问题

  引发问题 

  在项目中引用EF的Code First模式下,如果当修改存已存在字段或增加了其他模型并不删除数据库前提下,需要在NuGet Package 通过命令来解决数据库迁移问题,以下是个人理解和解决的办法,以此文记录。

  

  解决方式

  首先要为当前EF模式启用迁移功能并且为数据模型(数据库表)记录模型(原表结构)信息,提供回溯等功能

  步骤1:在NuGet控制台下输入以下命令,启用数据库迁移(在上下文的程序集下会生成两个文件)

  Enable-Migrations -ProjectName XXX
  //说明:XXX代表上下文所在的程序集名称,非必填参数。当出现"No context type was found in the assembly XXX" ,这时要写上-ProjectName XXX,下同。

 

  步骤2:修改上述步骤生成的Configuration.cs文件,启用数据库迁移功能

 

 

  步骤3:记录修改要修改模型的信息,输入以下命令(此步骤之前,已经修改模型成员或增加了其他模型)

  Add-Migration XXX1 -ProjectName XXXX
  //说明:XXX1是为了执行此命名生成的文件起一个名称,比如为UserInfo表增加了一个phone字段,则命名为ModifyUserInfoAddCloumForPhone ,是为了回溯时容易区分某个版本信息。

  

  步骤4:最后一步,将修改模型信息同步到数据库,执行以下命令

  Update-Database -Verbose -ProjectName XXXX

  

 

 

 

posted @ 2018-03-24 22:01  VR-Tian  阅读(158)  评论(0)    收藏  举报