一.命令开启

1.打开控制台:视图->其他窗口->程序包管理器控制台;

2.启动数据库迁移,执行命令:enable-migrations

  创建成功后会新增migrations目录等。

  若报如下错误:

  PM> Enable-Migrations
    More than one context type was found in the assembly 'FirstMVC'.
    To enable migrations for FirstMVC.Models.UsersContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.UsersContext.
    To enable migrations for FirstMVC.Models.FirstMVCContext, use Enable-Migrations -ContextTypeName FirstMVC.Models.FirstMVCContext.

  则要指定具体一个数据上下文类。

  本人只有一个数据库,可以不用输入。

3.运行数据库迁移

  启动数据库迁移设置成功后,对Model 结构的修改,需要手动创建数据库迁移。

  **以后每次对Model接口的修改操作,都执行如下2个命令即可。**

  命令如下:

  (1).Add-migration [自定义版本名称]

  (2).update-database

PM> add-migration updateorderheader

正在为迁移“updateorderheader”搭建基架。
此迁移文件的设计器代码包含当前 Code First 模型的快照。在下一次搭建迁移基架时,将使用此快照计算对模型的更改。如果对要包含在此迁移中的模型进行其他更改,则您可通过再次运行“Add-Migration 201407020938316_updateorderheader”重新搭建基架。
PM> update-database
指定“-Verbose”标记以查看应用于目标数据库的 SQL 语句。
正在应用基于代码的迁移: [201407020938316_updateorderheader]。
正在应用基于代码的迁移: 201407020938316_updateorderheader。
正在运行 Seed 方法。
PM>

4.修改代码配置

以上步骤执行完成后,

(1).在生成的目录文件中  Migrations/Configuration.cs

  将 AutomaticMigrationsEnabled = false; 修改为  AutomaticMigrationsEnabled = true;

(2).在项目Global.asax的Application_Start中加上如下代码行:

  System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion<FirstMVC.Models.FirstMVCContext,Migrations.Configuration>());

注释:FirstMVC.Models.FirstMVCContext 为创建的数据上下文类。

Migrations.Configuration 为成功执行Enable-Migrations命令后生成的文件类。

OK了,以后每次修改Model后只需要执行以上第3步的2个命令即可。

ASP.NET MVC 4下 Code First 数据库迁移的更多相关文章

  1. Asp.net Mvc Entity Framework Code First 数据库迁移

    1.创建Mvc项目 2.安装Entity Framework 2.1.如下图打开程序包管理器控制台: 2.2.输入命令Install-Package EntityFramework,即可安装Entit ...

  2. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  3. 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子

    KnockOutJS学习系列----(一) 好几个月没去写博客了,最近也是因为项目紧张,不过这个不是借口,J. 很多时候可能是因为事情一多,然后没法静下来心来去写点东西,学点东西. 也很抱歉,突然看到 ...

  4. 【工作笔记二】ASP.NET MVC框架下使用MVVM模式

    ASP.NET MVC框架下使用MVVM模式 原文:http://www.cnblogs.com/n-pei/archive/2011/07/21/2113022.html 对于asp.net mvc ...

  5. ASP.NET MVC 5 学习教程:数据迁移之添加字段

    原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...

  6. Code First 数据库迁移

    当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...

  7. 使用 Code First 数据库迁移

    当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...

  8. 3.3 使用Code First数据库迁移

    当Entity Framework Code First的数据模型发生异动时,默认会引发一个System.InvalidOpertaionException异常.一种解决方法是在Global.asax ...

  9. Entity Framework 5.0系列之Code First数据库迁移

    我们知道无论是"Database First"还是"Model First"当模型发生改变了都可以通过Visual Studio设计视图进行更新,那么对于Cod ...

随机推荐

  1. SU suplane命令学习

    各位博友,不足之处,批评指正! 用其他软件打开看看, 注意:下图中应该是倾角,dip=Δt/Δx,单位为ms/traces,

  2. TextBlock 格式化内容

    Text="{Binding ContentName,StringFormat=分享好书\{0\}}"

  3. wp ApplicationBar

    WP7中的菜单栏 一个应用程序的菜单栏的内容是有限的,最多不超过4个,排列顺序是以菜单栏中间为中心,然后从左往右排列. WP7提供了两种类型的菜单栏,一种是全局的菜单栏,也就是说在所有的页面中都会出现 ...

  4. 【wikioi】1191 数轴染色(线段树+水题)

    http://wikioi.com/problem/1191/ 太水的线段树了,敲了10分钟就敲完了,但是听说还有一种并查集的做法?不明觉厉. #include <cstdio> #inc ...

  5. 【BZOJ】1507: [NOI2003]Editor(Splay)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1507 当练splay模板了,发现wjmzbmr的splay写得异常简介,学习了.orzzzzzzzz ...

  6. 使用edtftpj-***.jar上传下载中文问题的解决方案和注意点

    FileTransferClient ftpClient = null; try { ftpClient = new FileTransferClient(); // set remote host ...

  7. CSS光标属性一览表

    光标类型 CSS 把你的光标放到相应文字上查看效果 要注意光标的实际效果依赖于用户的系统设置,与你在这里看到的效果并不一定一致. 十字准心 cursor: crosshair; 手 cursor: p ...

  8. 关于SparkMLlib的基础数据结构 Spark-MLlib-Basics

    此部分主要关于MLlib的基础数据结构 1.本地向量 MLlib的本地向量主要分为两种,DenseVector和SparseVector,顾名思义,前者是用来保存稠密向量,后者是用来保存稀疏向量,其创 ...

  9. XSS的高级利用部分总结 -蠕虫

    XSS的高级利用部分总结 -蠕虫,HTTP-only,AJAX本地文件操作,镜象网页本帖最后由 racle 于 2009-5-30 09:19 编辑 XSS的高级利用总结 -蠕虫,HTTPONLY,A ...

  10. 结合计划任务每天从Symantec官网下载离线病毒库

    #三种方法,由初级到高级 $numbers = 1..40 | Foreach {"{0:D3}" -f $_} #将数字类型格式化并转换为字符串类型使用-f字符串操作符 ForE ...