/// <summary> /// 查询一个对象出来 /// </summary> /// <typeparam name="T">泛型</typeparam> /// <param name="pk">主键值</param> /// <returns>一个对象</returns> public static T Query <T>(object pk) { IDataAccess dataAccess = CreateConn(); if (pk == null || pk.ToString().Length == 0) { throw new ArgumentException("查询的PK主键不得为空!"); //return null; } string sql = SimpleOrmCache.GetSelectSql(typeof(T)) + " where " + SimpleOrmCache.GetPK(typeof(T)) + "="; FieldInfo key = typeof(T).GetField(SimpleOrmCache.GetPK(typeof(T)), BindingFlags.IgnoreCase | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy); if (typeof(int) == key.FieldType) { sql += pk.ToString(); } else { sql += "'" + pk.ToString() + "'"; } DataTable dt = dataAccess.SelectDataTable(sql, SimpleOrmCache.GetTableName(typeof(T))); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; return(CreateFromDataRow <T>(dr)); } else { return(default(T)); } }
/// <summary> /// 分页查询 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="condition">条件语句</param> /// <param name="pager">分页对象</param> /// <param name="order">排序列</param> /// <param name="isDesc">是否降序</param> /// <returns></returns> public List <T> Query <T>(string condition, Pager pager, string order, bool isDesc) { IDataAccess dataAccess = CreateConn(); List <T> result = new List <T>(); string sql = dataAccess.GetPageSql(SimpleOrmCache.GetSelectSql(typeof(T)) + condition, pager, order, isDesc); DataTable dt = dataAccess.SelectDataTable(sql, SimpleOrmCache.GetTableName(typeof(T))); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { result.Add(CreateFromDataRow <T>(dr)); } } return(result); }