[Abp vNext 入坑分享] - 3.簡單的用戶模塊功能開發


一、簡要說明

本篇文章開始進行業務模塊的開發模擬,借助user模塊來進行業務開發,主要是用戶相關的基礎操作。主要是先使用Users來體驗整個開發的流程。主要是先把一個基礎流程跑順利,在這里我並不會過於追求讓所有屬性都只能通過方法進去賦值這種寫法,我覺得絕大部分項目並沒有必要寫到這樣。雖然借助代碼生成器,這種方法也很簡單的生成出來。只是我覺得沒必要,只是個人喜好。。

源代碼地址:https://github.com/lcjyslqyy/AbpVnextLearn

二、具體步驟

2.1.首先創建相應的Entity,

 

 

 並將Entity放入Dbcontext中綁定Dbset

2.2.初始化Migrations並更新到數據庫中去。

 

如上圖,則需要在Migration層安裝Microsoft.EntityFrameworkCore.Tools

再運行Update-database更新到數據庫。

這樣就相當於創建好了相應的表了。

2.3創建對應的AppService,IAppService,Repository,IRepository層。

2.4在相應的層添加好代碼:我這里模擬了getuserinfo返回user_name,user_phone方法。一個是完全穿透到ef的repository層的,另一個是利用appservice層的repository的基礎方法GetAsyn的。

首先要創建好兩個dto,一個用於入參,一個用於出參。暫時我不使用automapper之類的組件進行自動轉換,后期會介紹automapper的用法。

然后在HttpApi項目創建UserController:LearnController,后期會在LearnController里面封裝一些基礎方法,因為除了特殊的接口外,所有的接口盡量都要繼承LearnController,然后注入IUserAppServices

(1)穿透到EF的repository層的代碼如下,供給get接口使用:                                                     UserRepository

IUserRepository

UserAppServices

IUserAppServices

 

 

 

(2)利用Repository的Base方法如下,供給get1接口使用:

UserAppServices

IUserAppServices

2.5調試項目。

使用我們事先錄入的userid去調用get/get1接口,看到返回是預期的數據

 

 

 

  

然后我們看一下控制台輸出的日志,查詢也是正常的。

對於新人來說可能有兩點需要注意一下:

(1)我們使用的是SingleOrDefaultAsync,但是數據查詢的是Limit 2,這是因為SingleOrDefaultAsync在返回數據超出1的時候會拋出異常,數據行數為0則輸出null,所以需要至少2才能判斷是否是>1;

 

(2)另外還有個注意的點是:控制台假死狀態,由於我們有時候看日志的時候會復制里面的內容,然后直接在vs里面退出了調試狀態 。如下圖:

 

然后進行修改代碼,改完之后再點擊調試,這個時候發現項目很久都沒有啟動,這個時候要隨便輸入一下就可以,有點類似我們寫控制台的時候的ReadKey()

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM