首页 > 代码库 > QueryHelp
QueryHelp
1 //辅助查询 Author:高兵兵 2 public class QueryHelp 3 { 4 #region IList<T> ToList<T>(string cmdText,string connString) where T : new() 5 /// <summary> 6 /// 返回一个list 7 /// </summary> 8 /// <typeparam name="T">实体模型</typeparam> 9 /// <param name="cmdText">存储过程名</param> 10 /// <param name="connString">连接字符串</param> 11 /// <returns></returns> 12 public static IList<T> ToList<T>(string cmdText, string connString) where T : new() 13 { 14 using (var read = DbHelp.Create().ExecuteDataReader(cmdText, connString)) 15 { 16 IList<T> list = null; 17 var type = typeof(T); 18 if (read.HasRows) 19 { 20 21 list = new List<T>(); 22 } 23 while (read.Read()) 24 { 25 T t = new T(); 26 foreach (PropertyInfo item in type.GetProperties()) 27 { 28 for (int i = 0; i < read.FieldCount; i++) 29 { 30 //属性名与查询出来的列名比较 31 if (item.Name.ToLower() != read.GetName(i).ToLower()) continue; 32 var value =http://www.mamicode.com/ read[i]; 33 if (value != DBNull.Value) 34 { 35 item.SetValue(t, value, null); 36 } 37 break; 38 } 39 } 40 //将创建的对象添加到集合中 41 list.Add(t); 42 } 43 return list; 44 } 45 } 46 #endregion 47 48 #region IList<T> ToList<T>(string cmdText, List<DbParameter> listpar, string connString) where T : class, new() 49 /// <summary> 50 /// 返回一个list 51 /// </summary> 52 /// <typeparam name="T">实体模型</typeparam> 53 /// <param name="cmdText">存储过程名</param> 54 /// <param name="listpar">参数列表</param> 55 /// <param name="connString">连接字符串</param> 56 /// <returns></returns> 57 public static IList<T> ToList<T>(string cmdText, List<DbParameter> listpar, string connString) where T : class, new() 58 { 59 using (var read = DbHelp.Create().ExecuteDataReader(cmdText, listpar, connString)) 60 { 61 List<T> list = null; 62 var type = typeof(T); 63 if (read.HasRows) 64 { 65 66 list = new List<T>(); 67 } 68 while (read.Read()) 69 { 70 T t = new T(); 71 foreach (PropertyInfo item in type.GetProperties()) 72 { 73 for (int i = 0; i < read.FieldCount; i++) 74 { 75 //属性名与查询出来的列名比较 76 if (item.Name.ToLower() != read.GetName(i).ToLower()) continue; 77 object value =http://www.mamicode.com/ read[i]; 78 if (value != DBNull.Value) 79 { 80 item.SetValue(t, value, null); 81 } 82 break; 83 } 84 } 85 //将创建的对象添加到集合中 86 list.Add(t); 87 } 88 return list; 89 } 90 } 91 #endregion 92 93 #region IList<T> ToListAsPager<T>(string cmdText, List<DbParameter> listpar, string connString) where T : class, new() 94 /// <summary> 95 /// 返回一个list 96 /// </summary> 97 /// <typeparam name="T">实体模型</typeparam> 98 /// <param name="cmdText">存储过程名</param> 99 /// <param name="listpar">参数列表</param>100 /// <param name="connString">连接字符串</param>101 /// <returns></returns>102 public static IList<T> ToListAsPager<T>(string cmdText, List<DbParameter> listpar, string connString) where T : class, new()103 {104 listpar[listpar.Count-1].Direction = ParameterDirection.Output;105 using (var read = DbHelp.Create().ExecuteDataReader(cmdText, listpar, connString))106 {107 List<T> list = null;108 var type = typeof(T);109 if (read.HasRows)110 {111 112 list = new List<T>();113 }114 while (read.Read())115 {116 T t = new T();117 foreach (PropertyInfo item in type.GetProperties())118 {119 for (int i = 0; i < read.FieldCount; i++)120 {121 //属性名与查询出来的列名比较122 if (item.Name.ToLower() != read.GetName(i).ToLower()) continue;123 object value =http://www.mamicode.com/ read[i];124 if (value != DBNull.Value)125 {126 item.SetValue(t, value, null);127 }128 break;129 }130 }131 //将创建的对象添加到集合中132 list.Add(t);133 }134 return list;135 }136 }137 #endregion138 139 #region T FirstOrDefault<T>(string cmdText, string connString)140 /// <summary>141 /// 返回一个实体模型142 /// </summary>143 /// <typeparam name="T">实体模型</typeparam>144 /// <param name="cmdText">存储过程名</param>145 /// <param name="connString">连接字符串</param>146 /// <returns></returns>147 public static T FirstOrDefault<T>(string cmdText, string connString) where T : class,new()148 {149 using (var read = DbHelp.Create().ExecuteDataReader(cmdText, connString))150 {151 152 Type type = typeof(T);153 154 if (!read.Read()) return null;155 T t = new T();156 foreach (PropertyInfo item in type.GetProperties())157 {158 for (int i = 0; i < read.FieldCount; i++)159 {160 //属性名与查询出来的列名比较161 if (item.Name.ToLower() != read.GetName(i).ToLower()) continue;162 object value =http://www.mamicode.com/ read[i];163 if (value != DBNull.Value)164 {165 item.SetValue(t, value, null);166 }167 break;168 }169 170 }171 return t;172 }173 }174 #endregion175 176 #region T FirstOrDefault<T>(string cmdText, List<DbParameter> list, string connString)177 /// <summary>178 /// 返回一个实体179 /// </summary>180 /// <typeparam name="T">实体模型</typeparam>181 /// <param name="cmdText">存储过程名称</param>182 /// <param name="ob">object[]</param>183 /// <param name="connString">连接字符串</param>184 /// <returns></returns>185 public static T FirstOrDefault<T>(string cmdText, List<DbParameter> list, string connString) where T : class,new()186 {187 using (var read = DbHelp.Create().ExecuteDataReader(cmdText, list, connString))188 {189 var type = typeof(T);190 if (!read.Read()) return null;191 var t = new T();192 foreach (var item in type.GetProperties())193 {194 for (var i = 0; i < read.FieldCount; i++)195 {196 //属性名与查询出来的列名比较197 if (item.Name.ToLower() != read.GetName(i).ToLower()) continue;198 var value =http://www.mamicode.com/ read[i];199 if (value != DBNull.Value)200 {201 item.SetValue(t, value, null);202 }203 break;204 }205 }206 return t;207 }208 }209 #endregion210 211 }
QueryHelp
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。