前面讲到可以使用迁移技术让程序自动更新数据库中相关的结构。在我们每次需要新增模型类时,请一定要养成一个好的习惯,使用Add-Migration命令生成迁移版本。这样能恢复被误删除的表。

一、新增迁移版本

例如本次版本新增了一个CanteenCards类型,则在程序包管理器控制台中输入 Add-Migration AddCard命令。Add-Migration是新增迁移版本,AddCard是一个自定义的本次迁移版本的名称。如下图所示:

当成功执行Add-Migration命令之后,Migrations文件夹下就会新增一个代码文件,该代码文件的名称是 当前的时间+本次新增的迁移版本名称。如下图所示:

二、更新到数据库

以上操作成功后,接着再次在 程序包管理器控制台中输入update-database命令,将本次新增的模型类映射到数据库,在数据库中创建或修改相关的表结构。如下图所示:

update-database命令执行成功之后,看一下数据库中的结果。如下图所示:

成功创建CanTeenCards表!

EF-生成迁移版本的更多相关文章

  1. EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    前言 终于踏出第一步探索EF Core原理和本质,过程虽然比较漫长且枯燥乏味还得反复论证,其中滋味自知,EF Core的强大想必不用我再过多废话,有时候我们是否思考过背后到底做了些什么,到底怎么实现的 ...

  2. Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    Cookies   1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...

  3. 在.NET Core类库中使用EF Core迁移数据库到SQL Server

    前言 如果大家刚使用EntityFramework Core作为ORM框架的话,想必都会遇到数据库迁移的一些问题. 起初我是在ASP.NET Core的Web项目中进行的,但后来发现放在此处并不是很合 ...

  4. Ef 自动迁移,日志

    Ef 迁移 在vs打开程序控制台 2,选择程序集 ,如果是初次,输入 Enable-Migrations,启动迁徙 3  添加迁移,完成修改 4,之后会自动生成迁移配置文件. 然后再上下文类中加入 两 ...

  5. flask 使用Flask-Migrate迁移数据库(创建迁移环境、生成迁移脚本、更新数据库)

    使用Flask-Migrate迁移数据库 在开发时,以删除表再重建的方式更新数据库简单直接,但明显的缺陷是会丢掉数据库中的所有数据.在生产环境下,没有人想把数据都删除掉,这时需要使用数据库迁移工具来完 ...

  6. flask中如何生成迁移文件

    在flask网站开发中,如果直接对数据库进行修改的话,风险比较高,最好的是由迁移文件生成,这样确保了数据的误操作. 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Fl ...

  7. EF 数据迁移

    数据迁移: 在程序包管理器控制台,执行语句. 初始化: 1.Enable-Migrations -EnableAutomaticMigrations 2.Add-Migration InitialCr ...

  8. EF数据迁移命令

    在包管理器控制台中输入命令“enable-migrations”,然后按Enter键!Visual Studio将生成一个名为“Configurations.cs”的文件; 你可以安全地忽略它,但你需 ...

  9. EF Core 迁移整理

    创建迁移 PowerShell Add-Migration InitialCreate 多数据源 Add-Migration InitialCreate -Context MyDbContext -O ...

随机推荐

  1. Lab 6-1

    LABS The goal of the labs for this chapter is to help you to understand the overall functionality of ...

  2. Lab 1-4

    Analyze the file Lab01-04.exe. Questions and Short Answers Upload the Lab01-04.exe file to http://ww ...

  3. LeetCode--458--可怜的小猪

    问题描述: 有1000只水桶,其中有且只有一桶装的含有毒药,其余装的都是水.它们从外观看起来都一样.如果小猪喝了毒药,它会在15分钟内死去. 问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你 ...

  4. android-------Java 常问的基础面试题

      1."=="和equals方法究竟有什么区别? ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个 ...

  5. ubuntu vi配置

    1.先卸载tiny版本vi 输入命令:sudo apt-get remove vim-common 2.然后再输入命令: sudo apt-get   install vim sudo vim /et ...

  6. 57 ORM多表查询

    多表查询from django.db import models# Create your models here. class Author(models.Model): nid = models. ...

  7. adb 转自github https://github.com/mzlogin/awesome-adb

    基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [ ...

  8. 46. 47. Permutations and Permutations II 都适用(Java,字典序 + 非字典序排列)

    解析: 一:非字典序(回溯法) 1)将第一个元素依次与所有元素进行交换: 2)交换后,可看作两部分:第一个元素及其后面的元素: 3)后面的元素又可以看作一个待排列的数组,递归,当剩余的部分只剩一个元素 ...

  9. loj#2353. 「NOI2007」 货币兑换 斜率优化

    题意略 题解:可以列出dp方程\(dp[i]=max(dp[j]*{\frac{a[i]*c[j]+b[i]}{a[j]*c[j]+b[j]}}\),化简可以得到\(\frac{dp[i]}{b[i] ...

  10. php 中输入输出提交

    </head> <body> 输出的两个位置 <? echo $_POST['sub']; ?> <form action="" meth ...