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 }