[Abp vNext 入坑分享] – 2.簡化項目結構

一、簡要說明

本篇文章根據我自己的需要對項目結果進行簡化,讓項目結構更符合我自己的要求,同時讓項目跑起來。僅供參考

二、具體步驟

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.若是codefirstdbfirst混用的情況,則不要繼承

3.單純dbfirst的話,此項目可以去掉