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


 

無廢話,還是先上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頁面

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM