mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
🚀补充ISelectGrouping的分页模型分页方法
This commit is contained in:
parent
0002cec8b4
commit
f2a22aa895
@ -2614,6 +2614,13 @@
|
|||||||
<param name="pageSize">每页多少</param>
|
<param name="pageSize">每页多少</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:FreeSql.ISelectGrouping`2.Page(FreeSql.Internal.Model.BasePagingInfo)">
|
||||||
|
<summary>
|
||||||
|
分页
|
||||||
|
</summary>
|
||||||
|
<param name="pagingInfo">分页信息</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:FreeSql.ISelectGrouping`2.Count">
|
<member name="M:FreeSql.ISelectGrouping`2.Count">
|
||||||
<summary>
|
<summary>
|
||||||
查询的记录数量
|
查询的记录数量
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using FreeSql.Internal.Model;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -101,6 +102,13 @@ namespace FreeSql
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
ISelectGrouping<TKey, TValue> Page(int pageNumber, int pageSize);
|
ISelectGrouping<TKey, TValue> Page(int pageNumber, int pageSize);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 分页
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="pagingInfo">分页信息</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
ISelectGrouping<TKey, TValue> Page(BasePagingInfo pagingInfo);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询的记录数量
|
/// 查询的记录数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -201,6 +201,14 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ISelectGrouping<TKey, TValue> Page(BasePagingInfo pagingInfo)
|
||||||
|
{
|
||||||
|
pagingInfo.Count = this.Count();
|
||||||
|
_groupBySkip = Math.Max(0, pagingInfo.PageNumber - 1) * pagingInfo.PageSize;
|
||||||
|
_groupByLimit = pagingInfo.PageSize;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public long Count() => _select._cancel?.Invoke() == true ? 0 : long.TryParse(string.Concat(_orm.Ado.ExecuteScalar(_select._connection, _select._transaction, CommandType.Text, $"select count(1) from ({this.ToSql($"1{_comonExp._common.FieldAsAlias("as1")}")}) fta", _select._commandTimeout, _select._params.ToArray())), out var trylng) ? trylng : default(long);
|
public long Count() => _select._cancel?.Invoke() == true ? 0 : long.TryParse(string.Concat(_orm.Ado.ExecuteScalar(_select._connection, _select._transaction, CommandType.Text, $"select count(1) from ({this.ToSql($"1{_comonExp._common.FieldAsAlias("as1")}")}) fta", _select._commandTimeout, _select._params.ToArray())), out var trylng) ? trylng : default(long);
|
||||||
public ISelectGrouping<TKey, TValue> Count(out long count)
|
public ISelectGrouping<TKey, TValue> Count(out long count)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user