Migrations是Entity Framework中非常有意思的一个工具。Migrations 的目的是用来跟踪数据库的改变。

假如我们想回滚到一个月前的代码,非常容易,有版本管理工具。但是要回滚到当时的数据库,怎么办呢?这就是Migrations的作用,以代码的形式记录每次数据库变更,使得数据库也有了版本管理

使用:

Tools -> Library Package Manager -> Package Manager Console

Run the Enable-Migrations command in Package Manager Console 生成初始化的数据库结构代码文件

修改Model, 执行命令Add-Migration SomeThing 比较数据库的变化, 产生一个新的递增的数据库代码文件

执行Update-Database命令更新数据库

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

最佳实践:

项目中应当有一个专人来负责对Model的修改和对Migrations的维护。

有必要的话,应当每天都做一次对比。 至少在每个软件版本要做一次对比

在Configuration.cs代码文件中,应当重写Seed方法,添加初始化数据。初始化数据需要符合下面要求

  • 无论运行多少次Update-Database,都不会对数据库有改变
  • 把开发中的测试数据和发布时候的初始化数据分开,这样有利于发布
本文转自JustRun博客园博客,原文链接:http://www.cnblogs.com/JustRun1983/archive/2012/09/19/2693156.html,如需转载请自行联系原作者

Entity Framework中的Migrations相关推荐

  1. 如何处理Entity Framework中的DbUpdateConcurrencyException异常

    如何处理Entity Framework中的DbUpdateConcurrencyException异常 参考文章: (1)如何处理Entity Framework中的DbUpdateConcurre ...

  2. 在Entity Framework中使用存储过程(一):实现存储过程的自动映射

    之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛.很多朋友的留言也没有一一回复,在这里先向大家道个歉.最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0 ...

  3. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  4. [转]Using Entity Framework (EF) Code-First Migrations in nopCommerce for Fast Customizations

    本文转自:https://www.pronopcommerce.com/using-entity-framework-ef-code-first-migrations-in-nopcommerce-f ...

  5. 在Entity Framework中使用事务

    继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...

  6. Entity Framework中的Migration问题

    1.自从用上了Entity Framework(简称EF),妈妈再也不用担心我要写那么复杂的SQL语句了! 这是微软新一代的ORM工具,它能够将数据库的表中的记录映射成为程序中的一个对象,当然也能够将 ...

  7. Entity Framework中IQueryable, IEnumerable, IList的区别

    使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...

  8. Entity Framework中IQueryable, IEnumerable, IList的区别(转自网络)

    使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...

  9. 如何在 Entity Framework 中计算 时间差 ?

    咨询区 ison 我的项目中有一个需求,需要使用 Entity Framework 实现 日期差 的计算逻辑,参考如下代码: var now = DateTime.UtcNow;db.Items.Or ...

最新文章

  1. 企业的覆灭,我监视你的Exchange邮件!
  2. KingShard MySQL中间件快速入门
  3. Java 和 .NET 获得毫秒级长整型数值的差异和解决
  4. java 处理 url_Java URL处理 - Java 教程 - 自强学堂
  5. 一个jdbc connection连接对应一个事务
  6. Java中BigDecimal类介绍及用法
  7. Android JNI Attempt to remove non-JNI local reference, dumping thread
  8. 深入浅出看懂AlphaGo Zero - PaperWeekly 第51期
  9. pytorch相关用法
  10. 装饰器python详解_python装饰器详解
  11. MASM32 Editor的使用
  12. [python小工具]小说分割器
  13. 快乐课堂--寓教于乐、老师必备的课堂教学软件
  14. 杜立特尔分解法 MATLAB,chase追赶法算法
  15. Android App 冷启动优化方案--黑白屏
  16. 【Pygame小游戏】Python版有迷宫嘛?原来藏在个地方呀~
  17. iOS13.3如何越狱 checkra1n越狱工具0.9.7beta如何使用
  18. 【NS3】NS3安装 visualizer模块安装 (Windows+VMware+Kali) 2022.2
  19. 基础篇:3.1.3)注塑件-机械紧固
  20. 微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#

热门文章

  1. php crc16校验算法,PHP串口通信中计算crc16校验码
  2. java程序发送邮件_用java程序发送邮件
  3. matplotlib如何绘制两点间连线_如何用 Python 快速揭示数据之间的各种关系
  4. 基带工程师是做什么的_【思唯网络学院】网络工程师认证可以用来做什么?
  5. linux下crontab allow,Linux下crontab命令的用法
  6. python异常处理_汇总三大python异常处理、自定义异常、断言原理与用法分析
  7. 【知识图谱】知识表示:知识图谱如何表示结构化的知识?
  8. 【图像分割模型】实例分割模型—DeepMask
  9. 通过Lazada日销千件,国内爆款如此打开东南亚爆单之门
  10. 学习强制删除正在运行的文件