diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 752b63196..e8de5db61 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -452,14 +452,14 @@ namespace SqlSugar { InitMapping(); QueryBuilder.IsCount = true; - var sql = string.Empty; - sql = QueryBuilder.ToSqlString(); - sql = QueryBuilder.ToCountSql(sql); - var reval = Context.Ado.GetInt(sql, QueryBuilder.Parameters.ToArray()); + + int reval = GetCount(); + RestoreMapping(); QueryBuilder.IsCount = false; return reval; } + public virtual int Count(Expression> expression) { _Where(expression); @@ -1043,6 +1043,14 @@ namespace SqlSugar RestoreMapping(); return result; } + protected int GetCount() + { + var sql = string.Empty; + sql = QueryBuilder.ToSqlString(); + sql = QueryBuilder.ToCountSql(sql); + var reval = Context.Ado.GetInt(sql, QueryBuilder.Parameters.ToArray()); + return reval; + } protected List GetData(KeyValuePair> sqlObj) {