<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          .NET Core 3.1 + EF Core + LayUI 管理系統(tǒng)

          共 2203字,需瀏覽 5分鐘

           ·

          2023-06-20 20:16


          轉(zhuǎn)自:hg一如既往
          cnblogs.com/han1982/p/13520471.html

          前言


          項目名稱:學(xué)生信息管理系統(tǒng)1.0?


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


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


          數(shù)據(jù)庫:MS-SQL 或 MySQL 二選一


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


          框架結(jié)構(gòu)圖



          項目需求?(_PS:不包含業(yè)務(wù),只為展示開發(fā)案例。)


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


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


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


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


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


          框架封裝介紹


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


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


          3、依賴注入,原來部分使用了Autofac屬性注入,后來發(fā)現(xiàn)使用Lazy<>沖突,將全部采用DI構(gòu)造函數(shù)方式注入服務(wù)。


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


          5、添加服務(wù),服務(wù)端緩存、CORS、ORM、Lazy懶加載、AutoMapper、認(rèn)證、授權(quán)、異常處理。


          6、添加Swagger,添加Jwt身份認(rèn)證,模型驗證結(jié)果格式化。


          7、封裝了Serilog日志組件。


          8、封裝了MemoryCache緩存。


          9、封裝了Auth.Jwt身份認(rèn)證。


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


          11、MVC項目中使用WebApiClient組件,調(diào)用WebApi接口數(shù)據(jù)。



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


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


          使用說明:


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


          2、設(shè)置數(shù)據(jù)庫連接字符串,Student.Core.API項目中找到配置文件進(jìn)行修改,創(chuàng)建數(shù)據(jù)庫前右鍵重新生成項目。


          3、進(jìn)入Student.Core.API項目根目錄下,執(zhí)行CMD命令。


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


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


          通過數(shù)據(jù)庫遷移命令自動生成數(shù)據(jù)庫表:

          dotnet ef database update



          看到這里數(shù)據(jù)庫已生成成功了。





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





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






          筆記


          下面總結(jié)下本人在學(xué)習(xí).NET Core中遇到的一些問題,以及整個框架搭建的思路和使用開發(fā)教程。


          剛接觸.NET Core時發(fā)布過一篇關(guān)于.NET Core 2.2 + EF Core + DI,三層框架項目搭建教程 ,當(dāng)初想法比較簡單框架也不夠成熟,通過一年的學(xué)習(xí)與積累重新搭建了這套框架,一套比較完整的單應(yīng)用系統(tǒng),適用于中小型項目的開發(fā)應(yīng)用。


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


          先說說本次框架都有哪些改變,由之前的.NET Core2.2直接升級采用最新版.NET Core3.1開發(fā),ORM框架還是采用官方的EF Core(為什么選他就不多糾結(jié)了,只為學(xué)習(xí)目的,后期也可能會換成其他輕量級框架如FreeSQL),使用ORM工作單元的封裝也不需要自己單獨(dú)弄了,我找了一個封裝好的組件包進(jìn)行了升級和改造,并支持了.NET Core3.1版,組件包開源地址yrjw.ORM.Chimp,使用的是Code First模式,后期維護(hù)可以使用數(shù)據(jù)庫遷移工具命令,也可以單獨(dú)sql腳本進(jìn)行維護(hù)。


          當(dāng)前項目中雖然沒用VUE.js,但還是按前后端分離模式做的,多了MVC項目代替UI層(StudentManageSystem),所有業(yè)務(wù)實現(xiàn)都是通過WebApi接口獲取數(shù)據(jù)。


          框架封裝除了ORM使用方便以外,Service層也有封裝基類方法,減少CURD操作重復(fù)代碼量。


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


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

          ?

          瀏覽 35
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91免费片| 日韩无码流出 | 欧美pmⅴ| 免费无码性爱视频 | 丁香婷婷五月天av |