public ProcDataAndTotal <T> GetProcData <T>(string tableName, string whereStr, string orderField, int PageIndex) where T : class, new() { using (IDbConnection conn = new SqlConnection() { ConnectionString = connectionString }) { var param = new DynamicParameters(); param.Add("@table", tableName); param.Add("@field", "*"); param.Add("@where", whereStr); param.Add("@order", orderField); param.Add("@pageSize", 5); param.Add("@pageNumber", PageIndex); param.Add("@Total", 0, DbType.Int32, ParameterDirection.Output); //返回的类 ProcDataAndTotal <T> dataAndTotal = new ProcDataAndTotal <T>() { ProcData = conn.Query <T>("SP_Paging1", param, commandType: CommandType.StoredProcedure).ToList(), Total = param.Get <int>("@Total"), }; return(dataAndTotal); } }
/// <summary> /// 多表联查的存储过程 /// </summary> /// <typeparam name="T">接收参数的类</typeparam> /// <param name="param">存储过程的参数</param> /// <param name="procName">存储过程的名称</param> /// <returns></returns> public ProcDataAndTotal <T> GetProcData <T>(DynamicParameters param, string procName) where T : class, new() { using (IDbConnection conn = new SqlConnection() { ConnectionString = connectionString }) { //返回的类 ProcDataAndTotal <T> dataAndTotal = new ProcDataAndTotal <T>() { ProcData = conn.Query <T>(procName, param, commandType: CommandType.StoredProcedure).ToList(), Total = param.Get <int>("@Total"), }; return(dataAndTotal); } }