ABP踩坑记录-目录html
由于我自用的服务器只是腾讯云1核1G的学生机,不方便装SQL Server,因此转而MySQL。数据库
这里使用的MySQL版本号为 8.0。json
删除Qincai.EntityFrameCore
项目中现有的针对SQL Server的迁移文件,即Migrations
文件夹。服务器
为Qincai.EntityFrameCore
项目,添加Pomelo.EntityFrameworkCore.MySql
NuGet引用,并删除对Microsoft.EntityFrameworkCore.SqlServer
的引用。app
Orcale官方也有提供
MySql.Data.EntityFrameworkCore
,但在以前我使用的时候(18年10月)还存在一些Bug,不知道如今有没有修复。若是有知道的同窗,能够告知我一下。工具
在Qincai.Web.Host
项目中的appsettings.json
中修改链接字符串。ui
例如这里,是我在本地由Docker启动的MySQL。spa
找到Qincai.EntityFrameCore
项目下的QincaiDbContextConfigurer.cs
文件,修改两处注释的地方。code
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。 xml
这里须要注意的是,默认项目必须修改成Qincai.EntityFrameworkCore
项目,而且你解决方案的启动项目须要设置为Qincai.Web.Host
项目。
而后,就正常Update-Database
完事了。
最开始,要换数据库嘛,先查了下官网这篇流程,而后其实就差很少了,过程很简单。
而在这过程当中,可能你们会看到相似这样的提示。
就如同其字面意思,在新版的SDK中已经包含了这些工具。若是以为看得不爽,在对应的.csproj
文件中找到相似下方的代码,删除便可。
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup>