/// <summary> /// SQL分页 /// </summary> /// <typeparam name="T">实体</typeparam> /// <param name="utilityPager">分页类</param> /// <param name="querysql">SQL语句</param> /// <returns></returns> public IList <T> PagerList <T>(UtilityPager utilityPager, string querysql) where T : class { if (utilityPager == null) { utilityPager = new UtilityPager(); } var queryList = ICreateSQLQuery(querysql).AddEntity(typeof(T)); if (!utilityPager.IsGetCount) { return(queryList.SetFirstResult(GetPageIndex(utilityPager)) .SetMaxResults(utilityPager.PageSize) .List <T>()); } int count = Convert.ToInt32(GetCustomSQLQueryUniqueResult <object>("select count(*) from (" + querysql + ") as countTable")); return(queryList.SetFirstResult(GetPageIndex(utilityPager, count)) .SetMaxResults(utilityPager.PageSize) .List <T>()); }
///// <summary> ///// 将连表查询出来的数据分装到实体 ///// </summary> ///// <param name="ilist"></param> ///// <returns></returns> //static List<View_UserJoinRoleJoinDepartmen> ConvertToList(IList ilist) //{ // List<View_UserJoinRoleJoinDepartmen> list = new List<View_UserJoinRoleJoinDepartmen>(); // for (int i = 0; i < ilist.Count; i++) // { // View_UserJoinRoleJoinDepartmen obj = new View_UserJoinRoleJoinDepartmen(); // object[] objs = ilist[i] as object[]; // obj.UserName = Convert.ToString(objs[0]); // obj.CityID = Convert.ToInt32(objs[1]); // obj.FxtCompanyID = Convert.ToInt32(objs[2]); // obj.RoleID = Convert.ToInt32(objs[3]); // obj.RoleName = Convert.ToString(objs[4]); // obj.RValid = Convert.ToInt32(objs[5]); // obj.DepartmentID = null; // if (objs[6] != null) // { // obj.DepartmentID = Convert.ToInt32(objs[6]); // } // obj.DepartmentName = Convert.ToString(objs[7]); // obj.DValid = Convert.ToInt32(objs[8]); // list.Add(obj); // } // return list; //} /// <summary> /// 查询View_DepartmentJoinRole信息 /// </summary> /// <param name="whereSql"></param> /// <param name="utilityPager"></param> /// <param name="tblName">放于表后的别名</param> /// <param name="_db"></param> /// <returns></returns> static List <View_UserJoinRoleJoinDepartmen> GetList(string whereSql, List <NHParameter> parameters, UtilityPager utilityPager = null, string tblName = "tbl", DataBase _db = null) { DataBase db = new DataBase(_db); try { StringBuilder sb = new StringBuilder(); sb.Append("select * from (").Append(ViewSql).Append(") as ").Append(tblName).Append(" "); if (!string.IsNullOrEmpty(whereSql)) { sb.Append(" where ").Append(whereSql); } IList <View_UserJoinRoleJoinDepartmen> list = new List <View_UserJoinRoleJoinDepartmen>(); //IList ilist = null; if (utilityPager != null) { list = db.DB.PagerList <View_UserJoinRoleJoinDepartmen>(utilityPager, sb.ToString(), parameters, isDTO: true).ToList(); //ilist = db.DB.GetCustomSQLQueryObjectList(utilityPager, sb.ToString(), parameters); } else { list = db.DB.GetCustomSQLQueryList <View_UserJoinRoleJoinDepartmen>(sb.ToString(), parameters, isDTO: true).ToList(); //ilist = db.DB.GetCustomSQLQueryObjectList(sb.ToString(), parameters); } db.Close(); //List<View_UserJoinRoleJoinDepartmen> list = ConvertToList(ilist); return(list as List <View_UserJoinRoleJoinDepartmen>); } catch (Exception ex) { db.Close(); throw ex; } }
/// <summary> /// 自定义条件检索对象信息 /// </summary> /// <typeparam name="T">实体</typeparam> /// <param name="where">lambda表达式条件</param> /// <returns>集合</returns> public IQueryable <T> GetListCustom <T>(Expression <Func <T, bool> > where, UtilityPager utilityPager) where T : class { var query = Session.Query <T>().Where(where); return(query.Skip(GetPageIndex(utilityPager, query.Count <T>())).Take(utilityPager.PageSize)); }