ABP——切換MySQL數據庫


我是一名.net新手,應公司要求開始學習.net,使用的是土耳其大牛寫的框架ASP.NET Boilerplate 簡稱ABP,是基於DDD的現代ASP.NET開發框架,ABP提供了一個啟動模板用於新建的項目。經過多方閱讀,自己進行實踐,並進行總結。需要把這個模板搭建起來,微軟下載的原始模板使用的數據庫是SqlServer,由於個人原因需要將其進行修改。本人所使用的是win7系統,數據庫是Mysql,軟件使用的是vs2017。
進入正題先進入微軟的官網:https://aspnetboilerplate.com/Templates

按照步驟進行操作,點擊create my project

進行等待下載,下載完成后,將壓縮包解壓到一個文件夾下面,打開文件夾找到aspnet-core, 找到以*.sln結尾的文件打開

1.打開以后點擊解決方案,先還原NuGet包

如下圖顯示

2.安裝MySql.Data.Entity
在vs2017中右擊解決方案 =》找到管理解決方案NuGet程序包

打開后的頁面 並輸入MySql.Data.Entity ,我下載的是最新版的,當最新版的沒有遷移成功時,卸載當前最新版本,下載低版本的,並測試

當然也可以使用命令進行安裝數據庫插件點擊工具=》NuGet包管理器=》程序包管理器控制台
在控制台中程序包源選擇 全部 默認程序選擇 *.EntityFrameworkCore
依次輸入
install-package pomelo.entityframeworkcore.mysql.design  安裝最新版本

install-package pomelo.entityframeworkcore.mysql  要按照你所建的解決方案的SDK版本來選擇

3.更改配置文件

在解決方案entityframeworkcore層找到DbContextConfigurer文件,修改里面的內容

4.卸載sql server的NuGet包
在程序包管理器控制台使用代碼進行卸載

uninstall-package microsoft.entityframeworkcore.sqlserver
5.重新修改數據庫連接字符串
找到appsettings.json文件重新修改數據庫連接字符串進行修改
"Default": "Server=localhost;Port=3306;Database=數據庫名字;Uid=root;Pwd=數據庫密碼;"
6.下載並安裝Mysql
輸入連接 https://dev.mysql.com/downloads/mysql/5.5.html#downloads 下載並安裝mysql
7.重新添加數據遷移
找到*.EntityFrameworkCore層的Migrations文件夾,刪除文件夾里面的所有文件,不要刪除文件夾。刪除完文件之后,重新生成解決方案。接着在程序包管理器控制台 默認程序選擇 *.EntityFrameworkCore 敲入命令Add-Migration NewKInitXDatabase  當出現 To undo this action, use Remove-Migration. 時為執行成功。

再次執行 update-database 出現Applying migration '20190513024725_NewKInitXDatabase'. 數據庫遷移成功。在Mysql數據庫中就可以看到所有的表。
注:
有的小伙伴可能執行會出錯(當然這是我安裝過程中遇到的問題 ), 可能會有以下幾個問題
1.PowerShell version 2.0 is not supported. Please upgrade PowerShell to 3.0 or greater and restart Visual Studio.
對於這個問題是由於win7系統版本較低,需要更新 。在微軟官網即https://www.microsoft.com/zh-CN/download/details.aspx?id=40855 這個地址,下載安裝 Windows6.1-KB2819745-x64-MultiPkg.msu 即可。當然若是新系統或win10應該不會出現這樣的問題
2.Your startup project 'YTMyprocte.Web.Host' doesn't reference Microsoft.EntityFrameworkCore.Design.
這個問題是由於缺Microsoft.EntityFrameworkCore.Design.包,將這個包裝上之后就ok了。

作為新人,第一次寫博客,請多提意見,謝謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM