Abp vNext 切換MySql資料庫

2022-01-15 23:44:12 字數 1583 閱讀 5527

abp vnext是abp的下一代版本,目前還在經一步完善,**已經全部重寫了,好的東西保留了下來,去除了很多笨重的東西,從官宣來看,abp vnext主要是為了以後微服務架構而誕生的。

從原始碼來看,abp vnext已經支援了多種資料庫,sql server,mysql,postgresql等。預設情況下,你建立的專案使用的是sql server版本,如果需要切換到mysql的話,僅需要:

第一步,在你的entityframeworkcore(abp的ef框架模組,用來建立dbcontext,資料遷移用的)中,從nuget中安裝volo.abp.entifyframeworkcore.mysql

第二步,開啟tgdbcontextfactory.cs

第三部,修改**:

public tgdbcontext createdbcontext(string args)

改成

public tgdbcontext createdbcontext(string args)

原本以為這樣就能ok的,update-database的時候一堆錯誤,去issue上看了下,都有這個問題,有人建議用pomele的mysql驅動,還提了pr,當我今天(3月9號)去看的時候pr已經通過,但nuget包還未更新。

自給自足豐衣足食,自己來吧,其實非常簡單

先去掉剛引入的volo.abp.entityframeworkcore.mysql,然後引入pomelo.entityframeworkcore.mysql,隨後上述**改為:

public tgdbcontext createdbcontext(string args)

ok,簡單改造完成,我們再來update-database,我們的建立順利的完成了。

你以為結束了嗎,幼稚!預設啟動的時候他還是會選擇sql server,我們看下**,在web專案下的xxwebmodule.cs,xx是你的專案名,這個是我們web的module檔案,我們知道abp是乙個module載入的框架。在這個專案中同樣引入pomelo.entityframeworkcore.mysql,隨後修改configuredatabaseservices方法,

private void configuredatabaseservices()

else

});});

}

改完以上的**,你就可以順利啟動abp vnext for mysql了。

改的不是很優雅,畢竟下乙個版本應該會解決這個問題。之前用abp core做了小程式並放到了生產環境,啟動慢了點,但是執行什麼都比較穩定,開發也比較便捷,看了abp vnext後,感覺一種小清新,相信在不久之後,我會使用它放到生產環境。其實一些老鳥的話,自己都有自己的框架,說實在的,abp的好處就在於能夠讓大家有一種統一的快速的開發方式。

ps:陪兒子寫字寫了3個小時,寫1個字發呆5分鐘以上,能理解這種痛苦嗎?

ABP Vnext使用mysql資料庫

abp vnext支援sqlserver mysql postgresql等資料庫,通過cli模板建立的專案預設使用sqlserver,需要進行一定變更才支援其他資料庫,下面以使用mysql舉例 1.使用cli建立乙個帶ui的mvc專案 建立後專案如下 2.使用nuget安裝支援mysql的包並對 ...

Abp vNext 後台作業hangfire

abp vnext 提供了後台工作者和後台作業的支援,基本實現與原來的 abp 框架類似,並且 abp vnext 還提供了對 hangfire 和 rabbitmq 的後台作業整合。開發人員在使用這些第三方庫的時候,基本就是開箱即用,不需要做其他複雜的配置。後台作業在系統開發的過程當中,是比較常用...

Abp vNext 後台作業hangfire

簡要說明 abp vnext 提供了後台工作者和後台作業的支援,基本實現與原來的 abp 框架類似,並且 abp vnext 還提供了對 hangfire 和 rabbitmq 的後台作業整合。開發人員在使用這些第三方庫的時候,基本就是開箱即用,不需要做其他複雜的配置。後台作業在系統開發的過程當中,...