Dapper簡介
Dapper只有一個代碼文件,完全開源,你可以放在項目里的任何位置,來實現數據到對象的ORM操作,體積小速度快。 使用ORM的好處是增、刪、改很快,不用自己寫sql,因為這都是重復技術含量低的工作,還有就是程序中大量的從數據庫中讀數據然后創建model,並為model字段賦值。這些ORM都可以輕松給你搞定。ORM給我們開發帶來便利時,性能也是一個讓我們不得不考慮的問題。一般的ORM性能和直接寫原生的sql比都差不少,但是Dapper性能還很錯,甚至和DbHelperSQL方式性能高出很多。
假如你喜歡原生的Sql語句,又喜歡ORM的簡單,那你一定會喜歡上Dapper這款ROM。
Dapper
Dapper 功能實現
1 Dapper 功能實現 2 /// <summary> 3 /// 執行sql語句 4 /// </summary> 5 /// <param name="strSql"></param> 6 /// <returns></returns> 7 public int ExecuteBySql(string strSql) 8 { 9 if (dbTransaction == null) 10 { 11 using (var connection = Connection) 12 { 13 return connection.Execute(strSql); 14 } 15 } 16 else 17 { 18 dbTransaction.Connection.Execute(strSql, null, dbTransaction); 19 return 0; 20 21 } 22 } 23 /// <summary> 24 /// 執行sql語句帶參數的 25 /// </summary> 26 /// <param name="strSql"></param> 27 /// <param name="dbParameter"></param> 28 /// <returns></returns> 29 public int ExecuteBySql(string strSql, params DbParameter[] dbParameter) 30 { 31 if (dbTransaction == null) 32 { 33 using (var connection = Connection) 34 { 35 return connection.Execute(strSql, dbParameter); 36 } 37 } 38 else 39 { 40 dbTransaction.Connection.Execute(strSql, dbParameter, dbTransaction); 41 return 0; 42 43 } 44 } 45 /// <summary> 46 /// 執行存儲過程 47 /// </summary> 48 /// <param name="procName"></param> 49 /// <returns></returns> 50 public int ExecuteByProc(string procName) 51 { 52 if (dbTransaction == null) 53 { 54 using (var connection = Connection) 55 { 56 return connection.Execute(procName); 57 } 58 } 59 else 60 { 61 dbTransaction.Connection.Execute(procName, null, dbTransaction); 62 return 0; 63 64 } 65 } 66 /// <summary> 67 /// 執行存儲過程帶參數的 68 /// </summary> 69 /// <param name="procName"></param> 70 /// <param name="dbParameter"></param> 71 /// <returns></returns> 72 public int ExecuteByProc(string procName, params DbParameter[] dbParameter) 73 { 74 if (dbTransaction == null) 75 { 76 using (var connection = Connection) 77 { 78 return connection.Execute(procName, dbParameter); 79 } 80 } 81 else 82 { 83 dbTransaction.Connection.Execute(procName, dbParameter, dbTransaction); 84 return 0; 85 86 } 87 }