.Net Core3.1 + EF Core + LayUI 封裝的MVC版后台管理系統


項目名稱:學生信息管理系統1.0 

后台框架:.Net Core 3.1 + EF Core    yrjw.ORM.Chimp

前端框架:ASP.NET Core MVC  +  LayUI + Bootstrap

數據庫:MS-SQL 或 MySQL 二選一

遷移方式:Code First  (推薦CLI命令初始化數據庫和升級)

 

框架結構圖:

 

 

項目需求:  (_PS:不包含業務,只為展示開發案例。)

登錄模塊案例 ,用戶名密碼驗證碼登錄方式—— 已完成。

配置信息設置案例,存庫方式——已完成。

操作員管理案例,簡單CURD操作——已完成。

部門管理案例,簡單CURD操作——已完成。

學生信息查詢案例,簡單CURD操作——已完成。

 

框架封裝介紹:

1、簡單三層架構,前后端分離模式,目前采用Layui前端組件的MVC框架,后面可直接替換UI層VUE等前端框架。

2、集成了之前發布的yrjw.ORM.Chimp包,該組件只是將EF Core使用倉儲模式的工作單元進行了封裝,常用的CURD方法和API統一返回的模型。

3、依賴注入,原來部分使用了Autofac屬性注入,后來發現使用Lazy<>沖突,將全部采用DI構造函數方式注入服務。

4、封裝配置項綁定綁定,支持ChangeToken.OnChange熱更新。

5、添加服務,服務端緩存、CORS、ORM、Lazy懶加載、AutoMapper、認證、授權、異常處理。

6、添加Swagger,添加Jwt身份認證,模型驗證結果格式化。

7、封裝了Serilog日志組件。

8、封裝了MemoryCache緩存

9、封裝了Auth.Jwt身份認證。

10、封裝了yrjw.CommonToolsCore常用類庫擴展包。

11、MVC項目中使用WebApiClient組件,調用WebApi接口數據。

 

 

 看到這必須上代碼了,框架源碼下載地址:

 https://gitee.com/han1982/StudentManageSystem.git

使用說明:

1、git clone源代碼或直接下載壓縮包后,使用VS2019打開解決方案,如上圖。

2、設置數據庫連接字符串,Student.Core.API項目中找到配置文件進行修改,創建數據庫前右鍵重新生成項目。

3、進入Student.Core.API項目根目錄下,執行CMD命令。

使用dotnet ef命令,必須安裝dotnet-ef,依次執行命令:

dotnet tool install -g dotnet-ef
dotnet tool update -g dotnet-ef

通過數據庫遷移命令自動生成數據庫表:

 dotnet ef database update
 

 看到這里數據庫已生成成功了。

 

 

4、設置啟動項目,將Student.Core.API和StudentManageSystem設為啟動。

 

 

 

 5、F5啟動,就可以訪問項目了,初始用戶名:admin  密碼:123456

 

 

 

筆記:

  下面總結下本人在學習.net core中遇到的一些問題,以及整個框架搭建的思路和使用開發教程。

去年剛接觸.net core時發布過一篇關於.Net Core2.2 + EF Core + DI,三層框架項目搭建教程 ,當初想法比較簡單框架也不夠成熟,通過一年的學習與積累重新搭建了這套框架,一套比較完整的單應用系統,適用於中小型項目的開發應用。

       起初構建框架思想是,前后端分離、微服務架構、負載均衡、分庫分表,解決高並發需求為目的,但后來學習微服務架構中遇到了一些問題,再就是前端VUE初學階段,直接使用Vue.js UI等框架有些吃力,最終選擇先采用MVC版代替UI層進行過度一下,關於微服務這塊本人一直在學習過程中,搭建微服務架構還需要一點點時間吧,先來個單應用程序部署,對於小項目來說也是最佳選擇不是嗎。

       先說說本次框架都有哪些改變,由之前的.Net Core2.2直接升級采用最新版.Net Core3.1開發,ORM框架還是采用官方的EF Core(為什么選他就不多糾結了,只為學習目的,后期也可能會換成其他輕量級框架如FreeSQL),使用ORM工作單元的封裝也不需要自己單獨弄了,我找了一個封裝好的組件包進行了升級和改造,並支持了.Net Core3.1版,組件包開源地址yrjw.ORM.Chimp,使用的是Code First模式,后期維護可以使用數據庫遷移工具命令,也可以單獨sql腳本進行維護。當前項目中雖然沒用VUE.js,但還是按前后端分離模式做的,多了MVC項目代替UI層(StudentManageSystem),所有業務實現都是通過WebApi接口獲取數據。框架封裝除了ORM使用方便以外,Service層也有封裝基類方法,減少CURD操作重復代碼量。

      這一年公司事情諸多,各種個性化項目對接,只能是在忙里偷閑弄這項目可能存在有些細節未處理到位的地方,其實這套框架早在幾個月前已經差不多封裝好了,一直沒有時間去整理文檔,剛抽空整理文檔也做了些優化和完善了部分功能。這項目不存在任何業務邏輯,除了登錄模塊其他的都按開發案例作參考。

     框架源代碼已經發布出來了,有喜歡的朋友點贊,不喜歡的也歡迎拍磚,在這里就不貼代碼了,我的單應用程序框架基本就是這個樣子的,有不明白的地方可以留言我,我會抽空回復的。

 

  qq技術交流群:815436414

 


免責聲明!

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



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