1. 程式人生 > >C# 資料操作系列 - 17 Dapper ——號稱可以與ADO.NET 同臺飆車的ORM

C# 資料操作系列 - 17 Dapper ——號稱可以與ADO.NET 同臺飆車的ORM

# 0. 前言 之前四篇介紹了一個國內開發者開發的優秀框架SqlSugar,給我們眼前一亮的感覺。這一篇,我們將試試另一個出鏡率比較高的ORM框架-Dapper。 Dapper是一個輕量級的ORM框架,其以高速、簡單易用為特點。在某些時候,效率甚至可以與ADO.NET 媲美。那麼,吹得天花亂墜,就讓我們實際看看它的表現吧。 # 1. 開始使用 照例,先建立一個專案:DapperDemo ```bash dotnet new console --name DapperDemo ``` 然後切換到目錄裡: ```bash cd DapperDemo ``` 新增包支援: ```bash dotnet add package Dapper ``` 如果不出意外的話,目前專案中已經安裝好了Dapper。現在就讓我們開始愉快的使用吧。 首先,需要注意的一點是,與其他的ORM框架不同的是,Dapper需要我們手動建立一個IConnection。Dapper的所有操作都是依託於IConnection來操作,而且Dapper將其支援的方法封裝成了IConnection的擴充套件方法。 所以,在使用之前我們需要先建立一個IConnection。為了方便演示,我把之前SqlSugar演示用過的測試資料庫拿過來了,是一個SQLite,所以我們需要先安裝一個SQLite的驅動: ```bash dotnet add package Microsoft.Data.SQLite ``` 在Program.cs中引入兩個包: ```c# using Microsoft.Data.Sqlite; using Dapper; ``` 在Main方法裡建立一個IConnection: ```c# using(var connection = new SqliteConnection("Data Source=./demo.db")) { } ``` # 2. 多資料查詢 Dapper的查詢相當簡單: ```c# var result = connection.Query("select * from Persion"); ``` 傳入一個SQL語句,返回一個可列舉物件。如果不指定型別,將返回型別為dynamic的列表。我們來看一下Query方法的相關宣告: ```c# public static IEn