目录

背景之前是如何做的?EntityFramework5提供了更好的选择备注

背景返回目录

刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下EntityFramework5提供的迁移工具。

之前是如何做的?返回目录

原始的迁移脚本

脚本格式

 1 --执行开始--
2
3 Alter Table RcExaminees ADD [IntroducerOfEmployeeId] uniqueidentifier null
4
5 --执行结束--
6
7 --撤销开始--
8 Alter Table RcExaminees DROP COLUMN [IntroducerOfEmployeeId]
9
10 --撤销结束--

说明

用C#开发一个迁移工具,按照一些参数(向上迁移、向下迁移和迁移范围等)执行脚本就行了。

EntityFramework5提供了更好的选择返回目录

本文给出常用的命令和参数,详情可以参考:http://www.cnblogs.com/happyframework/p/3308678.html。

打开【程序包管理器控制台】

启用迁移

1 Enable-Migrations -ProjectName Happy.Examples.OrderManagement.EntityFramework -StartUpProjectName Happy.Examples.OrderManagement.EntityFramework

-ProjectName:DbContext所在的项目。

-StartUpProjectName:准备将迁移文件存放到其中的项目。

添加迁移

1 Add-Migration Initialize -ProjectName Happy.Examples.OrderManagement.EntityFramework -StartUpProjectName Happy.Examples.OrderManagement.EntityFramework

更新数据库

1 Update-Database -ProjectName Happy.Examples.OrderManagement.EntityFramework -StartUpProjectName Happy.Examples.OrderManagement.EntityFramework

注意:这里没有指定-ConnectionStringName,默认会用-StartUpProjectName指定的项目中的DbContext的类名来参数值,在-StartUpProjectName指定的项目配置文件中配置如下内容:

1   <connectionStrings>
2 <add name="OrderManagementUnitOfWork" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\Coding\Happy\Projects\Happy.Examples.OrderManagement\Happy.Examples.OrderManagement.EntityFramework\Database\OrderManagement.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
3 </connectionStrings>

最终效果

备注返回目录

EntityFramework5提供的迁移工具能满足我们几乎所有要求,没必要再开发自己的迁移工具了,详细学习还是参考这两篇文章:

  1. http://weblogs.asp.net/fredriknormen/archive/2012/02/15/using-entity-framework-4-3-database-migration-for-any-project.aspx。
  2. http://www.cnblogs.com/happyframework/p/3308678.html。
 

EntityFramework5提供的迁移工具的更多相关文章

  1. EntityFramework:迁移工具入门

    背景 刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下En ...

  2. iOS开发系列--Swift 3.0

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  3. Swift3.0都有哪些变化

    从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行.在W ...

  4. Xcode 8 新特性

    在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode, 在过去的每一次大版本发布中,苹果都会积极地改进开发工具,添加一些极具吸引力的新功能 ...

  5. Swift3.0相对于2.3语法的一些变化

    前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本.由于语法和API改动比较多,Xcode 8.0 Beta提供了migr ...

  6. Apache Kafka开发入门指南(2)

    Apache Kafka目标是统一离线和在线处理,与Flume和Scribe相比较,Kafka在处理活动流数据方面更具优势.但是从架构的视野来看,Kafka与传统的消息系统(例如ActiveMQ或Ra ...

  7. 记一次阿里云ECS服务器图片资源迁移至 阿里云 oss

    系统用户上传的图片资源放在ECS服务器,图片要做cdn加速,图片量越来越大(第一年200G,还在用户再增加图片量疯狂增长)备份是个问题. 决定迁移至 oss.前端直接上传oss 后台做签名,回调入库图 ...

  8. 纵观 jBPM:从 jBPM3 到 jBPM5 以及 Activiti5

    https://www.infoq.cn/article/rh-jbpm5-activiti5# 对jBPM来说,今年最大的事件莫过于 jBPM 的创建者Tom Baeyens离开 JBoss 了.T ...

  9. 一篇文章带你看懂AWS re:Invent 2018大会,揭秘Amazon Aurora

    本文由云+社区发表 | 本文作者: 刘峰,腾讯云NewSQL数据库产品负责人.曾职于联想研究院,Teradata北京研发中心,从事数据库相关工作8年.2017年加入腾讯数据库产品中心,担任NewSQL ...

随机推荐

  1. java_ log4j的基本配置参数

    目标:  err级别发送邮件 ,要求美观 ,信息详细 开工: 材料: 三个jar ,版本不建议高,不能低. 方便起见,打包下载即可    http://pan.baidu.com/s/1mgmfyvY ...

  2. iWatch # 初始化工程

    iWatch --利用swift,开发iWatch手表小应用! 远程仓库,团队开发: $ git init $ git add . $ git commit -m “ProjectName” // p ...

  3. 【百度地图API】批量地址解析与批量反地址解析(带商圈数据)

    原文:[百度地图API]批量地址解析与批量反地址解析(带商圈数据) 摘要:因为地址解析的webserives方式还没有开通,所以先用JS版本的地址解析接口来批量获取地址解析数据吧,同时还能得到商圈的数 ...

  4. 利用webBrowser获取框架内Html页面内容

    原文:利用webBrowser获取框架内Html页面内容 利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说. 可是一些 HTML 文档由“框架”构成,或可以存放它们自己独特 ...

  5. HDU 3683 模拟&amp;搜索

    给出五子棋残局,推断三步内能否分出胜负,玩家为当前该走旗子的颜色,下一步为白棋或黑棋不定. 依照顺序推断就可以: 1:推断棋盘是否合法,并确定玩家颜色 2:推断当前玩家颜色是否有一个必胜点,有玩家则在 ...

  6. 省钱加油(Fuel Economy)题解

    题目 农夫约翰决定去做一个环游国家旅行,为了不让他的奶牛们感到孤单,于是他决定租一辆货车带领他的奶牛们一起去旅行.这辆货车的油箱最多可以承载G 个单位的油,同时为了简化问题,规定每一个单位的油可以行使 ...

  7. 日积月累系列之国籍控件(js源码)

    一直苦于没有好的国籍控件可以用,于是抽空写了一个国籍控件,现分享给大家. 主要功能和界面介绍 国籍控件主要支持中文.英文过滤以及键盘上下事件. 源码介绍 国籍控件核心是两个文件,navtionalit ...

  8. jquery自己主动旋转的登录界面的背景代码登录页背景图

    在其他网站上看到比较爽Web登录界面.背景图片可以自己主动旋转. 介绍给大家.有兴趣的可以改改下来作为自己的系统登录界面. 如图: watermark/2/text/aHR0cDovL2Jsb2cuY ...

  9. 我看PS求职简历照

    看新闻<大学生求职简历照片不PS 连面试机会都没有>,忍不住也谈些自己的看法. 个人意见,尽量求真,这个求真要有平时努力的保证.长相一般的,知道自己是普通一员,按普通的方式行事就可以.即使 ...

  10. Android摘要ImageView的scaleType属性

    Android在ImageView的scaleType有8一个选项 1 matrix不正确图像放大,原来自view在左上角绘制图片(片不变形): 2 fitXY将图片所有绘制到view中,可是图片会变 ...