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

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

後臺框架:.Net Core 3.1 + EF Core    yrjw.ORM.Chimp前端

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

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

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

 

框架結構圖:後端

 

 

項目需求:  (_PS:不包含業務,只爲展現開發案例。)緩存

登陸模塊案例 ,用戶名密碼驗證碼登陸方式—— 已完成。前端框架

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

操做員管理案例,簡單CURD操做——已完成。併發

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

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

 

框架封裝介紹:

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

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

三、依賴注入,原來部分使用了Autofac屬性注入,後來發現使用Lazy<>衝突,將所有采用DI構造函數方式注入服務。

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

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

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

七、封裝了Serilog日誌組件。

八、封裝了MemoryCache緩存

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

十、封裝了yrjw.CommonToolsCore經常使用類庫擴展包。

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

 

 

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

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

使用說明:

一、Star源代碼或下載壓縮包後,使用VS2019打開解決方案,如上圖。

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

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

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

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

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

 dotnet ef database update
 

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

 

 

四、設置啓動項目,將Student.Core.API和StudentManageSystem設爲啓動。

 

 

 

 五、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操做重複代碼量。

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

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

相關文章
相關標籤/搜索