学生信息管理系统
项目名称:学生信息管理系统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/han1982/StudentManageSystem
使用说明:
一、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操做重复代码量。
鸣谢:
http://www.javashuo.com/article/p-uecycslx-nc.html
https://www.cnblogs.com/han1982/p/12736150.html
本文来自博客园,作者:{春光牛牛,yak},转载请注明原文链接:https://www.cnblogs.com/yakniu/p/16342696.html
欢迎各位大佬们评论指正
QQ讨论群:610129902