将用于进行迁移的 Entity Framework Core NuGet包 添加到`.csproj`文件
 <ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
//<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" /> 此处做个代码标识,以便知道代码添加位置
</ItemGroup>
更改连接字符串 *`appsettings.json`*
{
"ConnectionStrings": {
"MySqlConnection": "Data Source=.;Database=Blog;User ID=hh;Password=hh;pooling=true;CharSet=utf8;port=3306;sslmode=none"
},
修改`Startup.cs`文件中的`ConfigureServices`方法
  使用mysql前提,添加`Pomelo.EntityFrameworkCore.MySql`,在`project.csproj`文件中添加`<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.0.1" />`
//获取连接字符串
var connection = Configuration.GetConnectionString("MySqlConnection");
//注册上下文
services.AddDbContext<BlogContext>(options => options.UseMySql(connection));
创建实体类(与数据库表对应,多对多关系,需要建立第三张表,包含两张主表主键和对象,并且两张主表中有第三张表的集合)
  • 假如主表是A和B,第三张表是C
  • A表结构:主键,其他字段,C表集合
  • B表结构:主键,其他字段,C表集合
  • C表结构:A主键,A实体对象,B主键,B实体对象
创建DBContext类,并注册实体
public class BlogContext:DbContext
{
public DbSet<UserInfo> UserInfo { get; set; }
public DbSet<RoleInfo> RoleInfo { get; set; }
public DbSet<ActionInfo> ActionInfo { get; set; }
public DbSet<UserRole> UserRole { get; set; }
public DbSet<UserAction> UserAction { get; set; }
public DbSet<RoleAction> RoleAction { get; set; }
//组合键
protected override void OnModelCreating(ModelBuilder modelBuilder){
modelBuilder.Entity<UserRole>().HasKey(u=>new{u.UserInfoID,u.RoleInfoID});
modelBuilder.Entity<RoleAction>().HasKey(u=>new{u.RoleInfoID,u.ActionInfoID});
modelBuilder.Entity<UserAction>().HasKey(u=>new{u.UserInfoID,u.ActionInfoID});
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseMySql("connectionstring");
}
}
  1. 删除迁移 dotnet ef database drop
  2. 添加迁移 dotnet ef migrations add 迁移名
  3. 更新迁移到数据库 dotnet ef database update

.net core 2.0 数据访问-迁移的更多相关文章

  1. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  2. ASP.NET Core 入门笔记9,ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  3. Asp.net Core 2.0+EntityFrameWorkCore 2.0添加数据迁移

    Asp.net Core 由于依赖注入的广泛使用,配置数据迁移,与Asp.net大不相同,本篇介绍一下Asp.net Core添加数据迁移的过程 添加Nuget包 Install-Package Mi ...

  4. ASP.NET Core 3.0 WebApi 系列【2】.Net Core 3.0+ CodeFirst + MySql 实现数据的迁移

    写在前面 在前一小节中,我们创建了基于RESFULL风格的服务.这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移. 一.开发环境 [1]运行环境:win10 家庭版 [2]开发工具 ...

  5. 把旧系统迁移到.Net Core 2.0 日记 (15) --Session 改用Redis

    安装Microsoft.Extensions.Caching.Redis.Core NuGet中搜索Microsoft.Extensions.Caching.Redis.Core并安装,此NuGet包 ...

  6. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

  7. EF Core数据访问入门

    重要概念 Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理 ...

  8. 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

    不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...

  9. 为什么你需要将代码迁移到ASP.NET Core 2.0?

    随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代.开发者们可以选择使用命令行.个人喜好的文本编辑器.Visual Studio 2017 15.3 和 Visual Stu ...

随机推荐

  1. 【原创】惊!史上最全的select加锁分析(Mysql)

    引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * from table where id < ? s ...

  2. ML.NET 示例:推荐之One Class 矩阵分解

    写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ...

  3. Ansible 简介

    Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要目标是简单和易用,并且它 ...

  4. 体验usually.js的管道函数——pipe函数

    体验usually.js的管道函数——pipe函数 usually.js 是一个面向现代 Web 开发的 JavaScript 函数库,基于 ES6 开发.最新版本2.4.1,最新版本usually. ...

  5. [iOS]改变UIAlertController的标题、内容的字体和颜色

    https://www.jianshu.com/p/51949eec2e9c 2016.03.23 22:36* 字数 272 阅读 37401评论 54喜欢 72 在开发中,弹出框是必不可少的,通常 ...

  6. JS 获取链接中的参数

    1.获取链接全部参数,以对象的形式返回 //获取url中参数 function GetRequest() { var url = location.search; //获取url中"?&qu ...

  7. Linux df 与du用法

    df 查看一级目录的大小,但是不能查看文件的大小.du 可以查看目录或者文件大小. 1 df的基本用法 df命令可以显示目前所有文件系统的总空间及当前可用空间,用法如下: -a 全部文件系统列表-h ...

  8. Day 4-5 序列化 json & pickle &shelve

    序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 反序列化: 把字符转成内存里的数据类型. 用于序列化的两个模块.他 ...

  9. Hbase获取流程

    1\\.客户端chou操作 2.服务器dauncaozuo操作 3\存储优化

  10. python爬虫之pandas

    一.简介: Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模 ...