C#的dapper使用
生活随笔
收集整理的這篇文章主要介紹了
C#的dapper使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Dapper是.NET下一個micro的ORM,它和Entity Framework或Nhibnate不同,屬于輕量級的,并且是半自動的。Dapper只有一個代碼文件,完全開源,你可以放在項目里的任何位置,來實現數據到對象的ORM操作,體積小速度快。使用ORM的好處是增、刪、改很快,不用自己寫sql,因為這都是重復技術含量低的工作,還有就是程序中大量的從數據庫中讀數據然后創建model,并為model字段賦值。這些ORM都可以輕松給你搞定。ORM給我們開發帶來便利時,性能也是一個讓我們不得不考慮的問題。一般的ORM性能和直接寫原生的sql比都差不少,但是Dapper性能還很錯,甚至和DbHelperSQL方式性能高出很多。
Dapper的基本用法
執行
執行一次或多次命令并返回受影響的行數。
存儲過程 插入語句 更新語句 刪除語句
string?sql?=?"INSERT?INTO?Customers?(CustomerName)?Values?(@CustomerName);";using?(var?connection?=?new?SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) {var?affectedRows?=?connection.Execute(sql,?new?{CustomerName?=?"Mark"});Console.WriteLine(affectedRows);var?customer?=?connection.Query<Customer>("Select?*?FROM?CUSTOMERS?WHERE?CustomerName?=?'Mark'").ToList();FiddleHelper.WriteTable(customer); }查詢
執行查詢并映射結果。
string?sql?=?"SELECT?TOP?10?*?FROM?OrderDetails";using?(var?connection?=?new?SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) {var?orderDetails?=?connection.Query<OrderDetail>(sql).ToList();FiddleHelper.WriteTable(orderDetails); }參數
在Dapper 查詢中使用參數。
string?sql?=?"INSERT?INTO?Customers?(CustomerName)?Values?(@CustomerName);";using?(var?connection?=?new?SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) {var?affectedRows?=?connection.Execute(sql,?new?{CustomerName?=?"Mark"});Console.WriteLine(affectedRows);var?customer?=?connection.Query<Customer>("Select?*?FROM?CUSTOMERS?WHERE?CustomerName?=?'Mark'").ToList();FiddleHelper.WriteTable(customer); }結果
將查詢結果映射到不同的類型。
匿名的 強類型 多重映射 多結果 多類型
string?sql?=?"SELECT?TOP?10?*?FROM?OrderDetails";using?(var?connection?=?new?SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) {???var?orderDetails?=?connection.Query<OrderDetail>(sql).ToList();Console.WriteLine(orderDetails.Count);FiddleHelper.WriteTable(orderDetails); }總結
以上是生活随笔為你收集整理的C#的dapper使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何将自定义的 Delegate 转成
- 下一篇: .NET大会2021参会笔记