之前公司一直使用的是ASP.NET Boilerplate (ABP),但是當(dāng)解決方案變得很大時,項目啟動就變得非常慢,雖然也想了一些辦法,將一些基礎(chǔ)模塊做成Nuget包的形式,讓整個解決方案去引用。但是整個項目還是很臃腫,各個項目之間的耦合性太強(qiáng),很難將其拆開;無法進(jìn)行微服務(wù)的部署,擴(kuò)展性差。之后,選擇,Abp的vnext版本,優(yōu)點:
1. 其新的ABP框架可方便的開發(fā)微服務(wù)并使它們相互通信。亦可作為微服務(wù)單獨部署,或者可以嵌入到單個應(yīng)用程序中;
2. 模塊化。最明顯的就是更加模塊化,使項目更加清晰明了,設(shè)計更合理;
3. 更多可擴(kuò)展性。新的ABP框架為內(nèi)置服務(wù)提供了更多的擴(kuò)展點和覆蓋的能力;
4. 支持關(guān)系型和非關(guān)系型數(shù)據(jù)庫,Redis作為分布式緩存,使用RabbitMQ作為事件總線的消息處理方式,使用Quartz/HangFire作為定時任務(wù)的處理,引入可了IdentityServer4服務(wù);
接下來呢,會從 https://abp.io/上下載 官網(wǎng)構(gòu)建一個名為 Acme.BookStore 的用于管理書籍及其作者列表的ABP應(yīng)用程序
1、首先進(jìn)入界面 https://docs.abp.io/zh-Hans/abp/latest/Tutorials/Part-1?UI=MVC&DB=EF,然后根據(jù)偏好選擇下載,我們以第一個為例
2、官網(wǎng)的代碼放在github上,點擊abp-samples,就可以看到它的所有解決方案,BookStore-Mvc-EfCore 就是我們今天要更改的解決方案
3、使用Git工具克隆本項目
git clone https://github.com/abpframework/abp-samples.git
4、稍等一段時間后,使用VS Code打開本項目(VS 2019不支持,想使用的升級到VS 2022),在工具中添加 vscode-solution-explorer 組件
5、點擊解決方案,右鍵選擇Build,對項目進(jìn)行包還原,從解決方案的結(jié)構(gòu)上看,就能看到其清晰的分層,解決方案中的項目及依賴關(guān)系.
6、接下來點擊Acme.BookStore.EntityFrameworkCore,找到它的Acme.BookStore.EntityFrameworkCore.csproj文件,更換Nuget包,解決方案之前使用的是SQLServer,要將其更改為Mysql,之后找到BookStoreDbContextFactory和BookStoreEntityFrameworkCoreModule文件,更改其引用的地方
7、重新修改數(shù)據(jù)庫連接字符串,并刪除Migrations文件夾下的文件
找到*.Web 和 *.DbMigrator中的appsettings.json文件對數(shù)據(jù)庫連接字符串進(jìn)行修改
"Default": "Server=localhost;Port=3306;Database=數(shù)據(jù)庫名字;Uid=root;Pwd=數(shù)據(jù)庫密碼;Convert Zero DateTime=True"
8、在*.EntityFrameworkCore目錄下執(zhí)行命令進(jìn)行數(shù)據(jù)庫遷移,之后就可以在數(shù)據(jù)庫中看到所有的表
dotnet ef migrations add Init
dotnet ef database update
9、所有準(zhǔn)備都已完成,運(yùn)行應(yīng)用程序,選中*.web,右鍵點擊Run,報錯啟動不了,通過查找,發(fā)現(xiàn)在wwwroot下沒有l(wèi)ibs文件
Could not find the bundle file '/libs/abp/core/abp.css' for the bundle 'LeptonXLite.Global'!
安裝ABP CLI, 用于自動執(zhí)行基于 ABP 的解決方案的一些常見任務(wù)
dotnet tool install -g Volo.Abp.Cli
之后安裝libs
abp install-libs
再次進(jìn)行Run,成功啦?。∫詀dmin作為用戶名和1q2w3E* 作為密碼登錄到應(yīng)用程序,登錄成功后,就可以看到書籍管理功能
文章來源:http://www.zghlxwxcb.cn/news/detail-463298.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-463298.html
到了這里,關(guān)于更換Mysql數(shù)據(jù)庫-----基于Abo.io 的書籍管理Web應(yīng)用程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!