[Abp vNext 入坑分享] – 2.簡化項目結構
- 2020 年 4 月 22 日
- 筆記
- abpvnext, abpvnext學習, c#, netcore
一、簡要說明
本篇文章根據我自己的需要對項目結果進行簡化,讓項目結構更符合我自己的要求,同時讓項目跑起來。僅供參考
二、具體步驟
2.1卸載掉對我來說目前使用不上的項目,identityserver,mongodb,httpapi.client,以及對應的test項目
2.2刪除掉下圖紅框中的包與類文件,由於我後期會創建一個獨立的項目來做migrations,所以不需要在HttpApi.Host裏面直接使用EF相關的操作,而且個人認為這樣會模糊掉abpvnext的層級,混亂了層級的職責。
上圖的報錯都是由於我刪除了相關的包引起的,因此跳轉到相關文件中,把所有的報錯行,全部刪除。同時由於我沒有啟用redis的服務,所以要把下圖的redis服務也先行注釋掉。
2.3將啟動模式修改成:如下圖,同時把原來輸出日誌到文件的模式修改成:console(),以便在控制台時能很直觀的看到Log。調試項目,則可以啟動成功了。
2.4在src下面增加DbMigrations類庫,注意:此處只能選擇.netcore類型的類庫,不能是只屬於netstandard這樣會導致無法使用。創建後的樣子如下,這樣就可以使用此項目進行migration操作了,且不會影響主線代碼。
1.關於DbM_LearnDbContext這個類,如果你能保證整個項目的所有開發人員都只能使用codefirst進行開發的話,可以直接繼承主的LearnDbContext,這樣LearnDbContext的所有DbSet都會得到繼承,則不需要再重複寫dbset。
2.若是codefirst與dbfirst混用的情況,則不要繼承
3.單純dbfirst的話,此項目可以去掉