目录

背景之前是如何做的?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. Android环境结构--安装Eclipse错

    在学习安卓第一步.成立了一个开发环境. 经验,知道,所以这一步是不容易,因为你觉得,我可能是太幸运了. 我见到 题. 首先,安装Eclipse的时候. [Problem 1] [问题原因]: (1) ...

  2. ASP.NET 5 (vNext)

    ASP.NET 5 (vNext) 理解和入门   概述 ASP.NET 5 (又称为vNext) 是自ASP.NET产生15年以来一次革命性的更新, 我们可以从以下几点来理解其概貌和意义: ASP. ...

  3. c++使用stmp协议发送电子邮件(163邮箱,TTL非SSL)

    0.有关TLS和SSL SSL/TLS是用来加密邮件流的. 假设不加密的话非常easy被人破解. 只是既然是要发送广告邮件,这个就不用在意了,使用没加密的即可. 另外在使用的时候,发现,qq的邮箱须要 ...

  4. js中从blob提取二进制

    文章结构: 一.所遇到的问题 二.解决方法 一. 服务器端通过websocket向浏览器端传输图片(二进制),需要根据不同的图片把图片显示在不同的位置,可行的一个方法是先把图片转化成二进制数组,再把二 ...

  5. Cocos2d-android游戏引擎-介绍

    一.游戏引擎概念 什么是游戏引擎       游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件.这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计 ...

  6. java中IO写文件工具类

    以下是一些依据经常使用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 当中jodd中提供的JavaUtil类中提供的方法足 ...

  7. AlphaBlend參数BLENDFUNCTION

    AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更美丽的效果我们经常常使用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要參数. 定义例如以下: ...

  8. WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信

    原文:WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信 最近工作需要,学习了一下winform内嵌webbrowser控件,然后与htm页面中的javasc ...

  9. Model Validation in Asp.net MVC

    原文:Model Validation in Asp.net MVC 本文用于记录Pro ASP.NET MVC 3 Framework中阐述的数据验证的方式. 先说服务器端的吧.最简单的一种方式自然 ...

  10. leetcode第十题--Regular Expression Matching

    Problem:Implement regular expression matching with support for '.' and '*'. '.' Matches any single c ...