1. 程式人生 > >asp.net core使用Dapper操作Sqlserver/Oracle

asp.net core使用Dapper操作Sqlserver/Oracle

setting VS2017 分享圖片 ram 我們 set ger cti 結構

無廢話,還是先上git地址:https://gitee.com/jimmyTown_admin_admin/DapperInCoreDemo.git

結構如下:

技術分享圖片

1. 在framework時代,Dapper就因其小、輕但易用,高效而被很多程序員大量用與實際開發中。相對EF的寵大,我也更喜歡使用Dapper,今天正好有空,就順手寫了對應的Deamo(Demo分2部分,一部分是.net core console,一部分是asp.net core)。

開發環境:VS2017 .net core 2.1.3 IIS7.

2. 結構說明:

DapperInCoreLib中引用Dapper

技術分享圖片

Oracle.ManagedDataAccess.Core技術分享圖片

引用OK後,根據Dapper的封裝定義對應的通用接口
技術分享圖片

主要是針對dapper本身的實現作一些CURD的封裝

1.2 接著就是針對接口的作對應的實現,這裏會考慮兼容Sqlserver/oracle或其他DB(目前只是實現了這2種,但其實還支持mysql/sqlite等)

故實現的時候會根據對應的連接字符串及連接類型而使用對應的連接驅動

技術分享圖片

例如:其中查詢的時候就會直接使用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頁面

技術分享圖片

這裏就不一一嘗試了,大家可以下載代碼嘗試

asp.net core使用Dapper操作Sqlserver/Oracle