使用MySQL

ABP踩坑记录-目录

起因

因为我自用的服务器只是腾讯云1核1G的学生机,不方便装SQL Server,所以转而MySQL。

这里使用的MySQL版本号为 8.0。

解决方案

  1. 删除Qincai.EntityFrameCore项目中现有的针对SQL Server的迁移文件,即Migrations文件夹。

  2. Qincai.EntityFrameCore项目,添加Pomelo.EntityFrameworkCore.MySqlNuGet引用,并删除对Microsoft.EntityFrameworkCore.SqlServer的引用。

    Orcale官方也有提供MySql.Data.EntityFrameworkCore,但在之前我使用的时候(18年10月)还存在一些Bug,不知道现在有没有修复。如果有知道的同学,可以告知我一下。

  3. Qincai.Web.Host项目中的appsettings.json中修改连接字符串。

    例如这里,是我在本地由Docker启动的MySQL。

  4. 找到Qincai.EntityFrameCore项目下的QincaiDbContextConfigurer.cs文件,修改两处注释的地方。

    using System.Data.Common;
    using Microsoft.EntityFrameworkCore; namespace Qincai.EntityFrameworkCore
    {
    public static class QincaiDbContextConfigurer
    {
    public static void Configure(DbContextOptionsBuilder<QincaiDbContext> builder, string connectionString)
    {
    //builder.UseSqlServer(connectionString);
    builder.UseMySql(connectionString);
    } public static void Configure(DbContextOptionsBuilder<QincaiDbContext> builder, DbConnection connection)
    {
    //builder.UseSqlServer(connection);
    builder.UseMySql(connection);
    }
    }
    }
  5. 如下图添加Migration。

    这里需要注意的是,默认项目必须修改为Qincai.EntityFrameworkCore项目,并且你解决方案的启动项目需要设置为Qincai.Web.Host项目。

  6. 然后,就正常Update-Database完事了。

经历

最开始,要换数据库嘛,先查了下官网这篇流程,然后其实就差不多了,过程很简单。

而在这过程中,可能大家会看到类似这样的提示。

就如同其字面意思,在新版的SDK中已经包含了这些工具。如果觉得看得不爽,在对应的.csproj文件中找到类似下方的代码,删除即可。

<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>

ABP框架入门踩坑-使用MySQL的更多相关文章

  1. ABP框架入门踩坑-配置数据库表前缀

    配置数据库表前缀 ABP踩坑记录-目录 本篇其实和ABP关系并不大,主要是EF Core的一些应用-.-. 起因 支持数据库表前缀应该是很多应用中比较常见的功能,而在ABP中并没直接提供这一功能,所以 ...

  2. ABP框架入门踩坑-添加实体

    添加实体 ABP踩坑记录-目录 这里我以问答模块为例,记录一下我在创建实体类过程中碰到的一些坑. 审计属性 具体什么是审计属性我这里就不再介绍了,大家可以参考官方文档. 这里我是通过继承定义好的基类来 ...

  3. ABP框架入门踩坑-配置User Secrets

    配置User Secrets ABP踩坑记录-目录 起因 因为以往习惯在User Secrets中保存连接字符串之类信息,但当我把连接字符串移到secrets.json中后,却发现在迁移过程中会报如下 ...

  4. 我的微信小程序入门踩坑之旅

    前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...

  5. Go ORM框架 - GORM 踩坑指南

    今天聊聊目前业界使用比较多的 ORM 框架:GORM.GORM 相关的文档原作者已经写得非常的详细,具体可以看这里,这一篇主要做一些 GORM 使用过程中关键功能的介绍,GORM 约定的一些配置信息说 ...

  6. 小程序框架MpVue踩坑日记(一)

    小程序也做了几个小功能模块了,总觉得需要总结一下,踩坑什么的还是得记录一下啊. 好吧,其实是为了方便回顾 首先,说到小程序框架,大家都知道wepy,不过,我是没用过 美团开发团队到mpvue到是个实在 ...

  7. 踩坑录-mysql不允许远程连接(错误码:1130) Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“

    每次搭建mysql环境都会遇见同样的问题,在此分享一下踩坑笔录. 一.问题描述 安装成功后,本地直接链接远程mysql,默认为不允许远程访问,则客户端提示1130 - Host'xxx.xxx.xxx ...

  8. ABP框架入门

    技术要求 在开始使用 ABP 框架之前,您需要在计算机上安装一些工具. IDE/编辑器 本书假设您使用的是Visual Studio 2022(支持 .NET 6.0 的 v10.0)或更高版本.如果 ...

  9. 基于ASP.NET MVC的ABP框架入门学习教程

    为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加, ...

随机推荐

  1. SqlServer 查询死锁,杀死死锁进程*转载

    原文: -- 查询死锁 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName fro ...

  2. MyEclipse2018.9.0设置全局编码

    1.windows->Preferences打开"首选项"对话框,左侧导航,导航到general->Workspace 右侧Text file encoding,选择O ...

  3. php Pthread 多线程 (五) 线程同步

    有些时候我们不希望线程调用start()后就立刻执行,在处理完我们的业务逻辑后在需要的时候让线程执行. <?php class Sync extends Thread { private $na ...

  4. 超星网站cc++

    a系统 苏龙杰     a系统 苏龙杰     目录 1 C/C ++程序设计 1.1 前 言 1.2 第一部分 基 础 篇 1.2.1 第1章 初识C 1.2.1.1 1.1 C语言的诞生与发展 1 ...

  5. 构建openssl debug版

    一.简介 作为一种安全协议,openssl囊括了主要的密码算法.常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用. 参考: http://www.linuxidc ...

  6. Codeforces 599C. Day at the Beach 模拟

    Day at the Beach time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  7. 并发编程(二)concurrent 工具类

    并发编程(二)concurrent 工具类 一.CountDownLatch 经常用于监听某些初始化操作,等初始化执行完毕后,通知主线程继续工作. import java.util.concurren ...

  8. java日期正则表达式精准校验

      function checkDate(obj) {       var date=obj.value;     var re = new RegExp("(([0-9]{3}[1-9]| ...

  9. Winpython环境下mayavi配置

    Winpython环境下mayavi配置 在pythonxy中会直接有mayavi软件包,但是所附带的杂包实在太多.本人一直用的是window下的winpython或者linux下的anaconda来 ...

  10. 实现KbmMw web server 支持https

    在以前的文章里面介绍过kbmmw 做web server. 前几天红鱼儿非要我给他做一个支持https 的web server. 其实kbmmw 支持https 有好几种方法: 1. 使用isapi ...