無廢話,仍是先上git地址:https://gitee.com/jimmyTown_admin_admin/DapperInCoreDemo.gitmysql
結構以下:git
1. 在framework時代,Dapper就因其小、輕但易用,高效而被不少程序員大量用與實際開發中。相對EF的寵大,我也更喜歡使用Dapper,今天正好有空,就順手寫了對應的Deamo(Demo分2部分,一部分是.net core console,一部分是asp.net core)。程序員
開發環境:VS2017 .net core 2.1.3 IIS7.sql
2. 結構說明:json
DapperInCoreLib中引用Dapperapi
Oracle.ManagedDataAccess.Coreoracle
引用OK後,根據Dapper的封裝定義對應的通用接口app
主要是針對dapper自己的實現做一些CURD的封裝asp.net
1.2 接着就是針對接口的做對應的實現,這裏會考慮兼容Sqlserver/oracle或其餘DB(目前只是實現了這2種,但其實還支持mysql/sqlite等)url
故實現的時候會根據對應的鏈接字符串及鏈接類型而使用對應的鏈接驅動
例如:其中查詢的時候就會直接使用IDbConection做爲鏈接,其餘部分同理
1.3 DapperFactory
這裏主要有2塊
第一部分實現單例:全部鏈接的獲取的入口點
第二部分:獲取操做接口
1。4 簡易倉儲實現
接口部分(略,請直接看代碼),實現部分:
接着看第2部分:對應的WebApi部分(主要1. 注入 2.Swagger, 3.log4net)
引入Swashbuckle.AspNetCore及log4net
2.1 配置IOC注入及swagger
2.2 配置log4net
固然日誌也能夠不使用Log4net而使用Microsoft.Extensions.Logging下的ILoggerFactory
運行看看效果(我這裏將lauchSetting.json中的開始url變動爲"launchUrl": "api/student"
默認顯示全部學生信息,咱們能夠到swagger頁面
這裏就不一一嘗試了,你們能夠下載代碼嘗試