From d2d3870de0162590d5338330712030898b9de1f4 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 23 Nov 2020 16:23:42 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=20=E5=88=86=E9=A1=B5=20P?= =?UTF-8?q?age(..).Count()=20=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommonProvider/SelectProvider/Select0Provider.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs index 0e69ee7f..1b230ff2 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs @@ -696,7 +696,11 @@ namespace FreeSql.Internal.CommonProvider public long Count() { var tmpOrderBy = _orderby; + var tmpSkip = _skip; + var tmpLimit = _limit; _orderby = null; //解决 select count(1) from t order by id 这样的 SQL 错误 + _skip = 0; + _limit = 0; try { return this.ToList($"count(1){_commonUtils.FieldAsAlias("as1")}").Sum(); //这里的 Sum 为了分表查询 @@ -704,6 +708,8 @@ namespace FreeSql.Internal.CommonProvider finally { _orderby = tmpOrderBy; + _skip = tmpSkip; + _limit = tmpLimit; } } public TSelect Count(out long count) @@ -733,7 +739,11 @@ namespace FreeSql.Internal.CommonProvider async public Task CountAsync(CancellationToken cancellationToken = default) { var tmpOrderBy = _orderby; + var tmpSkip = _skip; + var tmpLimit = _limit; _orderby = null; + _skip = 0; + _limit = 0; try { return (await this.ToListAsync($"count(1){_commonUtils.FieldAsAlias("as1")}", cancellationToken)).Sum(); //这里的 Sum 为了分表查询 @@ -741,6 +751,8 @@ namespace FreeSql.Internal.CommonProvider finally { _orderby = tmpOrderBy; + _skip = tmpSkip; + _limit = tmpLimit; } } public virtual Task> ToListAsync(bool includeNestedMembers = false, CancellationToken cancellationToken = default)