Entity Framework中的Migrations
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,都不会对数据库有改变
- 把开发中的测试数据和发布时候的初始化数据分开,这样有利于发布
Entity Framework中的Migrations相关推荐
- 如何处理Entity Framework中的DbUpdateConcurrencyException异常
如何处理Entity Framework中的DbUpdateConcurrencyException异常 参考文章: (1)如何处理Entity Framework中的DbUpdateConcurre ...
- 在Entity Framework中使用存储过程(一):实现存储过程的自动映射
之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛.很多朋友的留言也没有一一回复,在这里先向大家道个歉.最近一段时间的工作任务是如何将ADO.NET Entity Framework 4.0 ...
- 关于Entity Framework中的Attached报错相关解决方案的总结
关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...
- [转]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 ...
- 在Entity Framework中使用事务
继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...
- Entity Framework中的Migration问题
1.自从用上了Entity Framework(简称EF),妈妈再也不用担心我要写那么复杂的SQL语句了! 这是微软新一代的ORM工具,它能够将数据库的表中的记录映射成为程序中的一个对象,当然也能够将 ...
- Entity Framework中IQueryable, IEnumerable, IList的区别
使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...
- Entity Framework中IQueryable, IEnumerable, IList的区别(转自网络)
使用工具追踪EF生成的SQL 使用Entity Framework等ORM框架的时候,SQL对于使用者来说是透明的,往往很多人也不关心ORM所生成的SQL,然而系统出现性能问题的时候就必须关注生成的S ...
- 如何在 Entity Framework 中计算 时间差 ?
咨询区 ison 我的项目中有一个需求,需要使用 Entity Framework 实现 日期差 的计算逻辑,参考如下代码: var now = DateTime.UtcNow;db.Items.Or ...
最新文章
- 企业的覆灭,我监视你的Exchange邮件!
- KingShard MySQL中间件快速入门
- Java 和 .NET 获得毫秒级长整型数值的差异和解决
- java 处理 url_Java URL处理 - Java 教程 - 自强学堂
- 一个jdbc connection连接对应一个事务
- Java中BigDecimal类介绍及用法
- Android JNI Attempt to remove non-JNI local reference, dumping thread
- 深入浅出看懂AlphaGo Zero - PaperWeekly 第51期
- pytorch相关用法
- 装饰器python详解_python装饰器详解
- MASM32 Editor的使用
- [python小工具]小说分割器
- 快乐课堂--寓教于乐、老师必备的课堂教学软件
- 杜立特尔分解法 MATLAB,chase追赶法算法
- Android App 冷启动优化方案--黑白屏
- 【Pygame小游戏】Python版有迷宫嘛?原来藏在个地方呀~
- iOS13.3如何越狱 checkra1n越狱工具0.9.7beta如何使用
- 【NS3】NS3安装 visualizer模块安装 (Windows+VMware+Kali) 2022.2
- 基础篇:3.1.3)注塑件-机械紧固
- 微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#
热门文章
- php crc16校验算法,PHP串口通信中计算crc16校验码
- java程序发送邮件_用java程序发送邮件
- matplotlib如何绘制两点间连线_如何用 Python 快速揭示数据之间的各种关系
- 基带工程师是做什么的_【思唯网络学院】网络工程师认证可以用来做什么?
- linux下crontab allow,Linux下crontab命令的用法
- python异常处理_汇总三大python异常处理、自定义异常、断言原理与用法分析
- 【知识图谱】知识表示:知识图谱如何表示结构化的知识?
- 【图像分割模型】实例分割模型—DeepMask
- 通过Lazada日销千件,国内爆款如此打开东南亚爆单之门
- 学习强制删除正在运行的文件