1. 程式人生 > >C# 資料操作系列 - 18 讓Dapper更強的外掛

C# 資料操作系列 - 18 讓Dapper更強的外掛

# 0. 前言 在前一篇中我們講到了Dapper的應用,但是給我們的感覺Dapper不像個ORM更像一個IDbConnection的擴充套件。是的,沒錯。在實際開發中我們經常用Dapper作為對EF Core的補充。當然了Dapper並不僅僅只有這些,就讓我們通過這一篇文章去讓Dapper更像一個ORM吧。 # 1. Dapper Contrib Dapper Contrib 擴充套件了Dapper對於實體類的CRUD方法: 安裝方法: 命令列: ```bash dotnet add package Dapper.Contrib ``` NuGet: ```powershell Install-Package Dapper.Contrib ``` 使用: ```c# using Dapper.Contrib.Extensions; ``` 這個是一個使得Dapper功能更強大的擴充套件包,因為支援了CRUD,所以需要對實體類新增配置,該擴充套件包使用Attribute作為依據進行相關對映配置: ```c# [Table("Model")] public class Model { [Key] [ExplicitKey] public int Id{get;set;} [Computed] public int Count {get;set;} [Write] public String Name{get;set;} } ``` 這是所有的配置,Table用來宣告是一個表,必須指定表名,Key表示該屬性是資料庫主鍵,ExplicitKey表示這個屬性是資料庫中顯示設定的主鍵,Computed表示該欄位是一個計算欄位,Write表示該欄位可以設定值進去。需要注意的是: Key和ExplicitKey這兩個不能同時標註在一個屬性上。 那麼接下來,我們看看它擴充套件了哪些方法: 插入單個物件: ```c# public static long Insert