前言:
有了前面的工作,簡單的架子基本搭建起來了,因為條件有限,只能先測試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里注入
配置好配置文件便可使用,教程較多,這里不再贅述。
種草
希望有大神幫忙擴充優化,可以成為大家開發小項目時拿過來就能用的小框架。 =。=