.Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统
<p><strong>项目名称:</strong>学生信息管理系统1.0 </p><p><strong>后台框架:</strong>.Net Core 3.1 + EF Core yrjw.ORM.Chimp</p>
<p><strong>前端框架:</strong><span data-ttu-id="0dfce-105">ASP.NET Core MVC + LayUI + Bootstrap</span></p>
<p><span data-ttu-id="0dfce-105"><strong>数据库:</strong>MS-SQL 或 MySQL 二选一</span></p>
<p><span data-ttu-id="0dfce-105"><strong>迁移方式:</strong>Code First (推荐CLI命令初始化数据库和升级)</span></p>
<p> </p>
<p><strong>框架结构图:</strong></p>
<p><strong><img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818141505958-35539752.png" alt="" loading="lazy"></strong></p>
<p> </p>
<p> </p>
<p><strong>项目需求: </strong> (_PS:不包含业务,只为展示开发案例。)</p>
<p><span style="font-size: 16px"><span data-ttu-id="0dfce-105">登录模块<span data-ttu-id="0dfce-105">案例 </span>,用户名密码验证码登录方式—— 已完成。</span></span></p>
<p><span style="font-size: 16px"><span data-ttu-id="0dfce-105">配置信息设置案例,存库方式——已完成。</span></span></p>
<p><span style="font-size: 16px"><span data-ttu-id="0dfce-105">操作员管理案例,简单CURD操作——已完成。</span></span></p>
<p><span style="font-size: 16px"><span data-ttu-id="0dfce-105">部门管理案例,简单CURD操作——已完成。</span></span></p>
<p><span style="font-size: 16px"><span data-ttu-id="0dfce-105">学生信息查询案例,简单CURD操作——已完成。</span></span></p>
<p> </p>
<p><strong><span data-ttu-id="0dfce-105">框架封装介绍:</span></strong></p>
<p><span data-ttu-id="0dfce-105">1、简单三层架构,前后端分离模式,目前采用Layui前端组件的MVC框架,后面可直接替换UI层VUE等前端框架。</span></p>
<p><span data-ttu-id="0dfce-105">2、集成了之前发布的yrjw.ORM.Chimp包,该组件只是将EF Core使用仓储模式的工作单元进行了封装,常用的CURD方法和API统一返回的模型。</span></p>
<p><span data-ttu-id="0dfce-105">3、依赖注入,原来部分使用了Autofac属性注入,后来发现使用Lazy<>冲突,将全部采用DI构造函数方式注入服务。</span></p>
<p><span data-ttu-id="0dfce-105">4、封装配置项绑定绑定,支持ChangeToken.OnChange热更新。</span></p>
<p><span data-ttu-id="0dfce-105">5、添加服务,服务端缓存、CORS、ORM、<span data-ttu-id="0dfce-105">Lazy</span>懒加载、AutoMapper、认证、授权、异常处理。</span></p>
<p><span data-ttu-id="0dfce-105">6、添加Swagger,添加Jwt身份认证,模型验证结果格式化。</span></p>
<p><span data-ttu-id="0dfce-105">7、封装了Serilog日志组件。</span></p>
<p><span data-ttu-id="0dfce-105">8、封装了<span data-ttu-id="0dfce-105">MemoryCache缓存</span>。</span></p>
<p><span data-ttu-id="0dfce-105">9、封装了Auth.Jwt身份认证。</span></p>
<p><span data-ttu-id="0dfce-105">10、封装了yrjw.CommonToolsCore常用类库扩展包。</span></p>
<p><span data-ttu-id="0dfce-105">11、MVC项目中使用WebApiClient组件,调用WebApi接口数据。</span></p>
<p> <img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818162910266-610505308.png" alt="" loading="lazy"></p>
<p> </p>
<p> 看到这必须上代码了,框架源码下载地址:</p>
<p> https://gitee.com/han1982/StudentManageSystem.git</p>
<p>使用说明:</p>
<p>1、git clone源代码或直接下载压缩包后,使用VS2019打开解决方案,如上图。</p>
<p>2、设置数据库连接字符串,Student.Core.API项目中找到配置文件进行修改,创建数据库前右键重新生成项目。</p>
<p>3、进入Student.Core.API项目根目录下,执行CMD命令。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:false;">使用dotnet ef命令,必须安装dotnet-ef,依次执行命令:
<span style="font-size: 15px">dotnet tool install -g dotnet-ef
dotnet tool update -g dotnet-ef</span>
通过数据库迁移命令自动生成数据库表:
<span style="font-size: 15px">dotnet ef database update
</span> </pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200819111930741-46612822.gif" alt="" loading="lazy"></p>
<p> 看到这里数据库已生成成功了。</p>
<p><img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818165813193-896323124.png" alt="" loading="lazy"></p>
<p> </p>
<p> </p>
<p>4、设置启动项目,将Student.Core.API和StudentManageSystem设为启动。</p>
<p><img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818165243234-2076564740.png" alt="" loading="lazy"></p>
<p> </p>
<p> <img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818165321592-2131378231.png" alt="" loading="lazy"></p>
<p> </p>
<p> 5、F5启动,就可以访问项目了,初始用户名:admin 密码:123456</p>
<p><img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818165620932-1499009964.png" alt="" loading="lazy"></p>
<p> <img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200818165630602-1890221846.png" alt="" loading="lazy"></p>
<p> <img src="https://img2020.cnblogs.com/blog/447901/202008/447901-20200819110813050-539814739.gif" alt="" loading="lazy"></p>
<p> </p>
<p><span style="font-size: 16px"><strong>笔记:</strong></span></p>
<p><span style="font-size: 16px"> </span>下面总结下本人在学习.net core中遇到的一些问题,以及整个框架搭建的思路和使用开发教程。</p>
<p>去年刚接触.net core时发布过一篇关于.Net Core2.2 + EF Core + DI,三层框架项目搭建教程<span class="entry"> ,当初想法比较简单框架也不够成熟,通过一年的学习与积累重新搭建了这套框架,一套比较完整的单应用系统,适用于中小型项目的开发应用。</span></p>
<p><span class="entry"> 起初构建框架思想是,前后端分离、微服务架构、负载均衡、分库分表,解决高并发需求为目的,但后来学习微服务架构中遇到了一些问题,再就是前端VUE初学阶段,直接使用Vue.js UI等框架有些吃力,最终选择先采用MVC版代替UI层进行过度一下,关于微服务这块本人一直在学习过程中,搭建微服务架构还需要一点点时间吧,先来个单应用程序部署,对于小项目来说也是最佳选择不是吗。</span></p>
<p> 先说说本次框架都有哪些改变,由之前的.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操作重复代码量。</p>
<p> 这一年公司事情诸多,各种个性化项目对接,只能是在忙里偷闲弄这项目可能存在有些细节未处理到位的地方,其实这套框架早在几个月前已经差不多封装好了,一直没有时间去整理文档,刚抽空整理文档也做了些优化和完善了部分功能。这项目不存在任何业务逻辑,除了登录模块其他的都按开发案例作参考。</p>
<p> 框架源代码已经发布出来了,有喜欢的朋友点赞,不喜欢的也欢迎拍砖,在这里就不贴代码了,我的单应用程序框架基本就是这个样子的,有不明白的地方可以留言我,我会抽空回复的。</p>
<p> </p>
<p> <span style="font-size: 18px">qq技术交流群:815436414</span></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/han1982/p/13520471.html
頁:
[1]