C# 資料操作系列 - 18 讓Dapper更強的外掛
阿新 • • 發佈:2020-05-28
# 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