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)