使用Dapper訪問SQL Server資料庫

2021-09-26 03:36:49 字數 3392 閱讀 3839

方法二:在nuget官網(查詢類庫的安裝命令:

一、建立實體類,例如person.cs

作用:person類對應資料庫中的person表,各欄位對應資料庫表的各列。

1

public

class

person24

public

string firstname

5public

string lastname

6public

string emailaddress

7public datetime createdon

8public

string ipaddress 910

//定義乙個屬性,用來計算所有屬性

11///

12///

計算屬性,返回使用者的詳細資訊

13///

14public

string

display

15 () ";

19}20}

21 }

二、建立資料庫連線幫助類dbhelper.cs

作用:從配置檔案中讀取資料庫連線字串。

1

public

class

dbhelper29

}10 }

注:解決configurationmanager標紅:新增引用reference→add reference→system.configuration,再在程式中引用using system.configuration;

作用:在配置檔案中存放資料庫連線資訊,如需修改,只修改配置檔案而不用修改源**,符合開閉原則。

在節點下新增節點,存放資料庫連線資訊:

123

"dbconn

" connectionstring="

server=127.0.0.1;database=master;user id=sa;password=phoenix@2019;

" />45

四、建立資料庫訪問類personservice.cs

作用:連線並訪問資料庫,讀取或寫入到資料庫。

1

public

class

personservice

2'";

15//

ienumerablelist = db.query(sql);

1617

//18

//where後邊限定屬性lastname的必須是@lastname格式,且query中新增匿名物件new ,lastname在這裡傳入

19string sql = $"

select * from person where lastname=@lastname";

20 ienumerablelist = db.query(sql, new );

21return

list.tolist();22}

23//

using語句塊結束後自動釋放資源,釋放資料庫連線。24}

2526

///27

///寫入一條使用者資料

28///

29///

使用者資訊實體

30///

31public

bool

insert(person person)

3239}40

41///

42///

刪除一條使用者資料

43///

44///

使用者id

45///

46public

bool delete(int

personid)

47);

52return result > 0; //

簡化的轉換寫法53}

54}5556

///57

///更新一條使用者資料

58///

59///

使用者資訊實體

60///

61public

bool

update(person person)

6270}71

72///

73///

根據使用者id查詢使用者

74///

75///

使用者id

76///

77public person findbypersonid(int

personid)

78);

83return

list.firstordefault();84}

85}86 }

五、dashboard介面

作用:分別實現增刪改查方法。

後台**中結合具體資料,呼叫personservice中的訪問資料庫的方法,實現相關業務功能。

1

private

void btnsearch_click(object

sender, eventargs e)28

9private

void btncreate_click(object

sender, eventargs e)10;

1920

var success =ps.insert(person);

21 messagebox.show(success ? "

操作成功

" : "

操作失敗");

22}2324

private

void b***elete_click(object

sender, eventargs e)

2531

32private

void btnupdate_click(object

sender, eventargs e)33;

4344

var success =ps.update(person);

45 messagebox.show(success ? "

操作成功

" : "

操作失敗");

46}4748

private

void btnindex_click(object

sender, eventargs e)

49

前台介面如圖:

六、拓展todo

七、參考

Dapper的基本使用

個人覺得他非常好用,現在已經取代了原來的sqlhelper。優點 輕量級,單檔案。支援多資料庫。先給出實體類的關係 書和書評是1 n的關係。沿用entity framework的實體類,virtual表示延遲載入,此處忽略 書public class book public int id publi...

Dapper的基本使用

個人覺得他非常好用,現在已經取代了原來的sqlhelper。優點 輕量級,單檔案。支援多資料庫。先給出實體類的關係 書和書評是1 n的關係。沿用entity framework的實體類,virtual表示延遲載入,此處忽略 一 實體類 idbconnection conn new sqlconnec...

Dapper的基本使用

個人覺得他非常好用,現在已經取代了原來的sqlhelper。優點 輕量級,單檔案。支援多資料庫。先給出實體類的關係 書和書評是1 n的關係。沿用entity framework的實體類,virtual表示延遲載入,此處忽略 書 public class book public int id publ...