ABP踩坑記錄-目錄html
由於我自用的服務器只是騰訊雲1核1G的學生機,不方便裝SQL Server,因此轉而MySQL。mysql
這裏使用的MySQL版本號爲 8.0。sql
Qincai.EntityFrameCore
項目中現有的針對SQL Server的遷移文件,即Migrations
文件夾。爲Qincai.EntityFrameCore
項目,添加Pomelo.EntityFrameworkCore.MySql
NuGet引用,並刪除對Microsoft.EntityFrameworkCore.SqlServer
的引用。數據庫
Orcale官方也有提供
MySql.Data.EntityFrameworkCore
,但在以前我使用的時候(18年10月)還存在一些Bug,不知道如今有沒有修復。若是有知道的同窗,能夠告知我一下。json
在Qincai.Web.Host
項目中的appsettings.json
中修改鏈接字符串。服務器
找到Qincai.EntityFrameCore
項目下的QincaiDbContextConfigurer.cs
文件,修改兩處註釋的地方。app
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
完事了。ui
最開始,要換數據庫嘛,先查了下官網這篇流程,而後其實就差很少了,過程很簡單。spa
而在這過程當中,可能你們會看到相似這樣的提示。
就如同其字面意思,在新版的SDK中已經包含了這些工具。若是以爲看得不爽,在對應的.csproj
文件中找到相似下方的代碼,刪除便可。
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup>