dapper 공통 페이지 나누기 방법

4763 단어
     /// /// dapper /// /// /// /// /// /// /// /// /// /// /// public static IEnumerable GetPageList(IDbConnection conn, string files, string tableName, string where, string orderby, int pageIndex, int pageSize, out int total) { int skip = 1; if (pageIndex > 0) { skip = (pageIndex - 1) * pageSize + 1; } StringBuilder sb = new StringBuilder(); sb.AppendFormat("SELECT COUNT(1) FROM {0} where {1};", tableName, where); sb.AppendFormat(@"SELECT {0} FROM(SELECT ROW_NUMBER() OVER(ORDER BY {3}) AS RowNum,{0} FROM {1} WHERE {2} ) AS result WHERE RowNum >= {4} AND RowNum <= {5} ORDER BY {3}", files, tableName, where, orderby, skip, pageIndex * pageSize); using (var reader = conn.QueryMultiple(sb.ToString())) { total = reader.ReadFirst<int>(); return reader.Read(); } }
PS: 인터넷에서 방법을 찾기가 힘들고 잘 찾은 것을 자신의 블로그에 기록하는 것은 좋은 습관이다.
전재 대상:https://www.cnblogs.com/sunshine-wy/p/11102913.html

좋은 웹페이지 즐겨찾기