前言:
有了前面的工作,简单的架子基本搭建起来了,因为条件有限,只能先测试SqlServer的了,源码放出来,也希望有兴趣的伙伴可以一起改善,相信可以成为未来进阶架构师的第一步,自己有小项目的时候可以直接拿来修改使用。
因为第一次在.net core搭建,经验欠缺,不足之处,欢迎批评指正。
后面将增加日志记录。
** 温馨提示:如需转载本文,请注明内容出处。**
源码:https://github.com/Xinzheng-Li/ASP.NET-Core-WebApi
再次邀请大神们改善指点,感激不尽。
概述
如图,像前几篇所述,简单的搭建了三层架构,本篇重点封装底层 (WebApi.Repository)。
说明
- Model 层的文件夹用于EF进行从数据库拉取实体,因为没有字段备注,故将实体类修改后拖出文件夹,以免日后更新时被覆盖掉。
- IDBRepository 接口,定义了最常用的五个数据库查询接口。
- DBRepository 使用Dapper和Dapper.Contrib实现接口,同时指定实现接口的数据库类型,默认MSSQL,也可在派生类中改写。
- ConnectionFactory 根据不同的数据库实例化Connect对象,这里因为条件有限,只写MSSQL和Mysql的,只测试了MSSQL。
- CONN_STRING_MSSQL、CONN_STRING_MYSQL 为不同数据库的连接字符串,初始化时由Setup读取配置文件后赋值
- SQLTYPE 默认数据库类型,设置后在调用ConnectionFactory.CreateSqlConnection()方法时作为缺省参数sqltype的默认值
- appsettings.json 配置文件,配置数据库类型、所有数据库的配置字符串
- URL: {Path}/api-docs/index.html
测试
选择Management API
代码所有接口均已测试,这里只列举一个
注意
- 初次编译代码需要重新制定文档路径。
- 发布时需要手动复制 WebApi.WebApi.xml 文件至发布目录,或者修改文件属性为复制到输出目录。
- Models下 DBContext.cd 通过EF拉取实体类会生成链接数据库的字符串,不用时最好删掉,拉取方法可查看前面的文章。
添加日志
本项目选用了NLlog作为日志输出,相信大家不会陌生。
Setup里注入
配置好配置文件便可使用,教程较多,这里不再赘述。
种草
希望有大神帮忙扩充优化,可以成为大家开发小项目时拿过来就能用的小框架。 =。=