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

1、簡要說明git

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

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

2、具體步驟app

2.1.首先建立相應的Entity,spa

 

 

 並將Entity放入Dbcontext中綁定Dbset3d

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

 

如上圖,則須要在Migration層安裝Microsoft.EntityFrameworkCore.Tools日誌

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

這樣就至關於建立好了相應的表了。繼承

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()

 

 

 

 

相關文章
相關標籤/搜索