OK
我想不知道的人會想說這是啥
先來一串ChatGPT的介紹
ORM 是一種技術,它允許開發人員在 Spark 語言中使用對象來表示數據庫中的表和數據,而直接編寫複雜的SQL 查詢語句。Dapper 分區能夠提供性能和簡化數據庫訪問,而不會引入複雜的抽象層。
‵其實就是 在我們的程式語言中像直接操作物件一樣地去操作資料。`
以下是 Dapper 的一些主要特點和優勢:
輕量級和性能:Dapper 是一個輕量級庫,不會引入過多的複雜性。它的性能非常出色,因為它非常接近於接近 ADO.NET 數據庫訪問,減少了開銷。
最初允許 SQL 支持:Dapper 開發人員編寫並執行 SQL 查詢,這使您可以更靈活地操作數據庫,而不受 ORM 限制。
對象映射:Dapper 可以將數據庫中的行數據映射到.NET對像中,這使得數據訪問更加自然和方便。你可以定義對象和數據庫表之間的映射關係。
存儲過程支持:Dapper 支持存儲過程的調用,這對於處理複雜的數據庫邏輯非常有用。
多種數據庫支持:Dapper可以與多種關係型數據庫一起使用,包括SQL Server、MySQL、PostgreSQL、SQLite等。
開源和活躍的社區:Dapper 是一個開源項目,擁有活躍的社區支持,您可以獲得廣泛的文檔、示例代碼和解決問題的資源。
雖然Dapper 提供了高度的靈活性和性能,但它也需要開發人員手動管理SQL 查詢和數據庫連接。與一些全功能的ORM 框架相比,Dapper 的使用學習曲線可能更陡峭,因為它需要開發人員更陡峭。多地參與數據庫操作的細節。然而,對於需要更多控制和性能的應用程序來說,Dapper 可能是一個不錯的選擇。
範例:
//命名一個叫 Product 的類別
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
要記得引用
using System;
//要使用DAPPER要記得引用以下三個
using System.Data.SqlClient;
using System.Data;
using Dapper;
class Program
{
static void Main()
{
string connectionString = "YourConnectionStringHere"; // 換成你的資料庫連接字串
using (IDbConnection dbConnection = new SqlConnection(connectionString))
{
dbConnection.Open(); //打開資料庫連接
// 執行 SQL 查詢到對應的 Product 列表
var products = dbConnection.Query<Product>("SELECT * FROM Products");
// 輸出查詢结果
foreach (var product in products)
{
Console.WriteLine($"Product ID: {product.ProductId}, Name: {product.Name}, Price: {product.Price:C}");
}
} //資料庫連接自動關閉
}
}
以上就是簡易的使用 Dapper 的 Query 方法執行 SQL 查詢~
Dapper 還有一些針對不同查詢的 Query 方法
QueryFirst 只取第一筆,如果找不到就報錯
QueryFirstOrDefault 只取第一筆,如果找不到就丟回預設值
QuerySingle,只取一筆,如果找不到或是找到多筆符合的就報錯
QuerySingleOrDefault 只取一筆,如果找不到就丟回預設值,找到多筆符合的就報錯
可以再上網研究一下XD
參考來源:
Dapper常用筆記
菜雞新訓記 (3): 使用 Dapper 來連線到資料庫 CRUD 吧