ABP框架入门踩坑-使用MySQL
使用MySQL
起因
因为我自用的服务器只是腾讯云1核1G的学生机,不方便装SQL Server,所以转而MySQL。
这里使用的MySQL版本号为 8.0。
解决方案
删除
Qincai.EntityFrameCore项目中现有的针对SQL Server的迁移文件,即Migrations文件夹。为
Qincai.EntityFrameCore项目,添加Pomelo.EntityFrameworkCore.MySqlNuGet引用,并删除对Microsoft.EntityFrameworkCore.SqlServer的引用。Orcale官方也有提供
MySql.Data.EntityFrameworkCore,但在之前我使用的时候(18年10月)还存在一些Bug,不知道现在有没有修复。如果有知道的同学,可以告知我一下。在
Qincai.Web.Host项目中的appsettings.json中修改连接字符串。
例如这里,是我在本地由Docker启动的MySQL。
找到
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);
}
}
}
如下图添加Migration。

这里需要注意的是,默认项目必须修改为
Qincai.EntityFrameworkCore项目,并且你解决方案的启动项目需要设置为Qincai.Web.Host项目。然后,就正常
Update-Database完事了。
经历
最开始,要换数据库嘛,先查了下官网这篇流程,然后其实就差不多了,过程很简单。
而在这过程中,可能大家会看到类似这样的提示。

就如同其字面意思,在新版的SDK中已经包含了这些工具。如果觉得看得不爽,在对应的.csproj文件中找到类似下方的代码,删除即可。
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
ABP框架入门踩坑-使用MySQL的更多相关文章
- ABP框架入门踩坑-配置数据库表前缀
配置数据库表前缀 ABP踩坑记录-目录 本篇其实和ABP关系并不大,主要是EF Core的一些应用-.-. 起因 支持数据库表前缀应该是很多应用中比较常见的功能,而在ABP中并没直接提供这一功能,所以 ...
- ABP框架入门踩坑-添加实体
添加实体 ABP踩坑记录-目录 这里我以问答模块为例,记录一下我在创建实体类过程中碰到的一些坑. 审计属性 具体什么是审计属性我这里就不再介绍了,大家可以参考官方文档. 这里我是通过继承定义好的基类来 ...
- ABP框架入门踩坑-配置User Secrets
配置User Secrets ABP踩坑记录-目录 起因 因为以往习惯在User Secrets中保存连接字符串之类信息,但当我把连接字符串移到secrets.json中后,却发现在迁移过程中会报如下 ...
- 我的微信小程序入门踩坑之旅
前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...
- Go ORM框架 - GORM 踩坑指南
今天聊聊目前业界使用比较多的 ORM 框架:GORM.GORM 相关的文档原作者已经写得非常的详细,具体可以看这里,这一篇主要做一些 GORM 使用过程中关键功能的介绍,GORM 约定的一些配置信息说 ...
- 小程序框架MpVue踩坑日记(一)
小程序也做了几个小功能模块了,总觉得需要总结一下,踩坑什么的还是得记录一下啊. 好吧,其实是为了方便回顾 首先,说到小程序框架,大家都知道wepy,不过,我是没用过 美团开发团队到mpvue到是个实在 ...
- 踩坑录-mysql不允许远程连接(错误码:1130) Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“
每次搭建mysql环境都会遇见同样的问题,在此分享一下踩坑笔录. 一.问题描述 安装成功后,本地直接链接远程mysql,默认为不允许远程访问,则客户端提示1130 - Host'xxx.xxx.xxx ...
- ABP框架入门
技术要求 在开始使用 ABP 框架之前,您需要在计算机上安装一些工具. IDE/编辑器 本书假设您使用的是Visual Studio 2022(支持 .NET 6.0 的 v10.0)或更高版本.如果 ...
- 基于ASP.NET MVC的ABP框架入门学习教程
为什么使用ABP 我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加, ...
随机推荐
- OC线程操作-GCD介绍
1. GCD介绍 1.11.2 1.3 异步具备开启能力但是不是 一定可以开启 1.4 1.5 67. 8.
- ajax访问当前页面后的 [WebMethod]描述的方法
脚本: function show() { $.ajax({ type: "post", async: false, contentType: "application/ ...
- UI设计必用工具 — AI快捷键大全
01 常用工具 V 选择工具 A 直接选择工具 Y 魔棒工具 Q 套索工具 P 钢笔工具 Z 缩放工具 R 旋转工具 O 镜像工具 M 矩形工具 L 椭圆工具 B 画笔工具 N 铅笔工具 C 剪刀工具 ...
- 数据帮助类DBhelper的定义
数据库帮助类的使用DBhelperusing System;using System.Collections.Generic;using System.Text;using System.Data;u ...
- attempt to create delete event with null entity
解决办法:删除之前判断是否为空 if(Object != null){ session.delete(Object); }
- 支持向量机(SVM)算法
支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计 ...
- 2018.09.08 poj1185 炮兵阵地(状压dp)
传送门 状压dp经典题. 我们把每一行的状态压成01串. 预处理出每一行可能出现的状态,然后转移每个被压缩的状态的1的个数就行了. 注意当前行转移要考虑前两行的状态. 还要注意只有一行的情况. 代码: ...
- 2018.07.10NOIP模拟 Draw(容斥原理)
Draw 题目背景 SOURCE:NOIP2016-RZZ-4 T3 题目描述 给定笛卡尔坐标系上 n 个不重复的点. 定义一个 L 形为: 一个形如 (x,y),(x+1,y)-(x+a,y),(x ...
- hdu-1131(卡特兰数+大数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1131 思路:R(x)=h(x)*n!=C(n,2*n)*n!=A(n+2,n*2); #include ...
- Linux下编译与调试
gcc/g++编译器 对于.c格式的C文件,可以采用gcc或g++编译 对于 .cc..cpp格式的C++文件,应该采用g++进行编译 常用的选项: -c 表示编译源文件 -o 表示输出目标文件 ...