前言:

  大家好,今天给大家带来ABP第二篇的分享,在写这篇分享的时候非常的困难,因为发现ABP的框架越是深入、难度也就越大,而且深刻感觉到自己领域驱动开发知识的欠缺,前段时间买了两本有关于领域驱动知识的数据,一本是领域驱动之父Eric Evans写的《领域驱动设计》、一本是Vaughn Vernon写的《实现领域驱动设计》,就目前而言,看了并没有几张,再次默默的自我检讨3分钟,下面回归正文:

  在ABP系统框架中,后台代码分为了几层,以下是层级的注释:

  1. MyABPProject.Application:应用服务层,包含各个应用的逻辑
  2. MyABPProject.Core:项目的核心层,在领域驱动分层中,应该属于领域层
  3. MyABPProject.EntityFrameworkCore:基于EntityFrameworkCore的封装,连接数据库,属于仓储基础设施层
  4. MyABPProject.Migrator:数据库迁移工具
  5. MyABPProject.Web.Core:项目的展现层,封装展现层所用到的工具
  6. MyABPProject.Web.Host:项目的动态API接口以及Swagger

  今天主要是写下数据库切换的问题,一开始,项目刚刚下载下来的时候,默认使用的是SqlServer数据库,按照上一篇的文章写的那样,数据库还原->运行项目,顺风顺水可以将项目运行起来,因为现在项目的变化,需要更改数据库,将由MySql代替SqlServer,故此分为了以下的几个步骤:

  1. 首先删除MyABPProject.EntityFrameworkCore项目下关于SqlServer的一些引用类库,需要删除的类库如下:

    • Microsoft.EntityFrameworkCore.SqlServer
    • Microsoft.EntityFrameworkCore.Design
  2. 添加MySql的引用类库,MySql需引用类库如下:
    • Pomelo.EntityFrameworkCore.MySql.Design
    • Pomelo.EntityFrameworkCore.MySql
  3. 注释MyABPProject.Web.Host和MyABPProject.Migrator项目中的“appsettings.json”文件下SqlServer数据库字符串,新增MySql数据库字符串
  4. 在整个解决方案中将字符串“SqlServerValueGenerationStrategy”替换成“MySqlValueGenerationStrategy”
  5. 在整个解决方案中将字符串“UseSqlServer”替换成“UseMySql”
  6. 删除MyABPProject.EntityFrameworkCore项目中“Migrations”这个文件夹下所有迁移文件
  7. 通过程序包管理控制台根据命令“Add-Migration "XXX"”重新生成迁移文件
  8. 生成成功后,根据命令“Update-Database”还原MySql数据库
  9. 重启启动项目,即可完成!

  为什么选择“Pomelo.EntityFrameworkCore.MySql”:

  MySql/MariaDB 推荐使用Pomelo EF Core组件,官方引用文件目前可能存在bug,Pomelo EF Core同样是微软官方所推荐的。

ABP框架(asp.net core 2.X+Vue)模板项目学习之路(二)--切换MySql数据库的更多相关文章

  1. 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问

    中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...

  2. ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一)

    前言: 第一次接触ABP的项目是在2018年6月份,但是当时没有深入具体的研究,而今天因为工作的需要,需要学习.了解这个框架,在时隔半年之后,今天重新下载了这个项目,虽然在园子里有很多前辈们写的这类的 ...

  3. 运行ABP(asp.net core 3.X+Vue)提示'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

    创建ASP.NET Boilerplate,还原数据库和启动客户端 这里就略过,具体参考 ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) ASP.NET Boilerpl ...

  4. 5. abp集成asp.net core

    一.前言 参照前篇<4. abp中的asp.net core模块剖析>,首先放张图,这也是asp.net core框架上MVC模块的扩展点 二.abp的mvc对象 AbpAspNetCor ...

  5. 52abp框架asp.net core & Angular快速开发实战视频教程

    课程标题 52abp框架asp.net core & Angular全栈开发实战视频课程 课程简介 从零开始学 52ABP企业开发框架,企业项目是如何开发和技术选型,代码如何管理,团队协同开发 ...

  6. ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 框架 前面我们使用了 N 多个章节, ...

  7. Asp.Net Core 轻松学系列-3项目目录和文件作用介绍

    目录 前言 结语 前言     上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令.Asp.Net Core M ...

  8. ASP.NET Core WebAPI 开发-新建WebAPI项目

    ASP.NET Core WebAPI 开发-新建WebAPI项目, ASP.NET Core 1.0 RC2 即将发布,我们现在来学习一下 ASP.NET Core WebAPI开发. 网上已经有泄 ...

  9. ASP.NET Core WebAPI 开发-新建WebAPI项目 转

    转 http://www.cnblogs.com/linezero/p/5497472.html ASP.NET Core WebAPI 开发-新建WebAPI项目   ASP.NET Core We ...

随机推荐

  1. oracle drop 表后 恢复

    1.查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recy ...

  2. 自己封装的一个类似axios的请求

    下载:https://pan.baidu.com/s/1k0-CpGGtfDTsCm85NMfuHA 使用: axios({ method:'post', baseURL:baseAddress, u ...

  3. 8.4 GOF设计模式三: 外观模式 Facade

    GOF设计模式三: 外观模式 Facade  “现有系统”功能强大.复杂,开发“新系统”需要用到其中一部分,但又要增加一部 分新功能,该怎么办?4.1 Facade Pattern: Key Fea ...

  4. 华为交换机VRP系统命令试图

  5. 手动编译tomcat

    0. 准备 (1) 配置好Java, 我这里使用的Oracle jdk 1.8.0_192; (2) 配置好Ant, 我这里使用的ant 1.10.5; (3) tomcat源代码, 我这里使用的 a ...

  6. 强化学习(六):n-step Bootstrapping

    n-step Bootstrapping n-step 方法将Monte Carlo 与 one-step TD统一起来. n-step 方法作为 eligibility traces 的引入,eli ...

  7. 图融合之加载子图:Tensorflow.contrib.slim与tf.train.Saver之坑

    import tensorflow as tf import tensorflow.contrib.slim as slim import rawpy import numpy as np impor ...

  8. linux命令三剑客之一sed

    a(a\或者a\\):在当前行后面加入一行文本sed '/^test/a---->this is a example2' example 在test开头的行下,添加一行新的文本“----> ...

  9. angular6 aot 预先编译

    angular.json文件:(红色加粗部分) { "$schema": "./node_modules/@angular/cli/lib/config/schema.j ...

  10. PhotoShop常用的功能汇总

    1.将图层变为"智能对象"后如何调整大小? 答: ctrl + T 2.如何对文字添加投影? 答: 点击文字图层,“图层”->"图层样式"->&qu ...