我是一名.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了。
作為新人,第一次寫博客,請多提意見,謝謝