mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-18 17:48:11 +08:00
Update Queryable.PartitionBy
This commit is contained in:
@@ -390,8 +390,19 @@ namespace SqlSugar
|
|||||||
|
|
||||||
public virtual int Count()
|
public virtual int Count()
|
||||||
{
|
{
|
||||||
QueryBuilder.IsCount = true;
|
|
||||||
var sql = QueryBuilder.ToSqlString();
|
var sql = string.Empty;
|
||||||
|
if (QueryBuilder.PartitionByValue.IsValuable())
|
||||||
|
{
|
||||||
|
sql = QueryBuilder.ToSqlString();
|
||||||
|
sql = QueryBuilder.ToCountSql(sql);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
QueryBuilder.IsCount = true;
|
||||||
|
sql = QueryBuilder.ToSqlString();
|
||||||
|
}
|
||||||
var reval = Context.Ado.GetInt(sql, QueryBuilder.Parameters.ToArray());
|
var reval = Context.Ado.GetInt(sql, QueryBuilder.Parameters.ToArray());
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
QueryBuilder.IsCount = false;
|
QueryBuilder.IsCount = false;
|
||||||
|
@@ -216,6 +216,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public virtual string ToSqlString()
|
public virtual string ToSqlString()
|
||||||
{
|
{
|
||||||
|
string oldOrderBy=this.OrderByValue;
|
||||||
if (!IsDisabledGobalFilter && this.Context.QueryFilter.GeFilterList.IsValuable())
|
if (!IsDisabledGobalFilter && this.Context.QueryFilter.GeFilterList.IsValuable())
|
||||||
{
|
{
|
||||||
var gobalFilterList = this.Context.QueryFilter.GeFilterList.Where(it => it.FilterName.IsNullOrEmpty()).ToList();
|
var gobalFilterList = this.Context.QueryFilter.GeFilterList.Where(it => it.FilterName.IsNullOrEmpty()).ToList();
|
||||||
@@ -245,10 +246,16 @@ namespace SqlSugar
|
|||||||
if (ExternalPageIndex > 0) {
|
if (ExternalPageIndex > 0) {
|
||||||
result = ToPageSql(result,(ExternalPageIndex-1)*ExternalPageSize,ExternalPageSize);
|
result = ToPageSql(result,(ExternalPageIndex-1)*ExternalPageSize,ExternalPageSize);
|
||||||
}
|
}
|
||||||
|
this.OrderByValue = oldOrderBy;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual string ToPageSql(string sql,int? take,int? skip)
|
public virtual string ToCountSql(string sql) {
|
||||||
|
|
||||||
|
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ",sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual string ToPageSql(string sql,int? take,int? skip)
|
||||||
{
|
{
|
||||||
if (skip != null && take == null)
|
if (skip != null && take == null)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user