public T SelectFirstOrDefault <T>(SQLHelper helper) { DbCommand command = SQlHelperToCommand(helper); DbDataReader reader = ExecuteReader(helper); List <ClassFiledInfo> list = ObjectResolverManage.GetInstance().GetTableColumnsInfo(typeof(T)); try { reader.Read(); T mode = (T)ObjectResolverManage.CreateObjectBy(typeof(T)); foreach (ClassFiledInfo info in list) { info.MpropertyInfo.SetValue(mode, reader[info.ColunmName]); } return(mode); } catch (Exception e) { } finally { if (reader != null) { reader.Close(); } } return(default(T)); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="helper"></param> /// <returns></returns> public List <T> Select <T>(SQLHelper helper) { DbCommand command = SQlHelperToCommand(helper); DbDataReader reader = ExecuteReader(helper); Type type = typeof(T); List <ClassFiledInfo> filedInfos = ObjectResolverManage.GetInstance().GetTableColumnsInfo(type); List <T> list = new List <T>(); while (reader.Read()) { T model = (T)ObjectResolverManage.CreateObjectBy(type); foreach (ClassFiledInfo info in filedInfos) { info.MpropertyInfo.SetValue(model, reader[info.ColunmName]); } list.Add(model); } reader.Close(); return(list); }
public unsafe T SelectFirstOrDefault <T>(SQLHelper helper) { DbCommand command; DbDataReader reader; object obj2; List <ClassFiledInfo> list; List <ClassFiledInfo> .Enumerator enumerator; ClassFiledInfo info; T local; bool flag; bool flag2; T local2; command = SQlHelperToCommand(helper); reader = this.ExecuteReader(helper); goto Label_00A0; Label_0016: obj2 = ObjectResolverManage.CreateObjectBy(typeof(T)); list = ObjectResolverManage.GetInstance().GetTableColumnsInfo(typeof(T)); enumerator = list.GetEnumerator(); Label_0045: try { goto Label_0075; Label_0047: info = &enumerator.Current; Label_0051: try { info.MpropertyInfo.SetValue(obj2, reader[info.ColunmName]); goto Label_0074; } catch { Label_0070: goto Label_0075; } Label_0074 :; Label_0075 : if (&enumerator.MoveNext() != null) { goto Label_0047; } goto Label_008F; } finally { Label_0080: &enumerator.Dispose(); } Label_008F: reader.Close(); local = (T)obj2; goto Label_00D0; Label_00A0: if (reader.Read() != null) { goto Label_0016; } if ((reader > null) == null) { goto Label_00C2; } reader.Close(); Label_00C2: local = default(T); Label_00D0: return(local); }