mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 18:22:23 +08:00
-
This commit is contained in:
@@ -132,7 +132,7 @@ namespace OrmTest.Demo
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
|
|
||||||
var list4 = db.Queryable<Student>()
|
var list4 = db.Queryable<Student>()
|
||||||
.PartitionBy(it => new { it.Id, it.Name }).Take(1).ToPageList(2,3,ref count);
|
.PartitionBy(it => new { it.Name }).Take(1).ToPageList(2,3,ref count);
|
||||||
|
|
||||||
//SqlFunc.AggregateSum(object thisValue)
|
//SqlFunc.AggregateSum(object thisValue)
|
||||||
//SqlFunc.AggregateAvg<TResult>(TResult thisValue)
|
//SqlFunc.AggregateAvg<TResult>(TResult thisValue)
|
||||||
|
@@ -129,6 +129,13 @@ namespace SqlSugar
|
|||||||
return @"SELECT * FROM ({0}) T WHERE RowIndex BETWEEN {1} AND {2}";
|
return @"SELECT * FROM ({0}) T WHERE RowIndex BETWEEN {1} AND {2}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public virtual string ExternalPageTempalte
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return @"SELECT * FROM ({0}) T WHERE RowIndex2 BETWEEN {1} AND {2}";
|
||||||
|
}
|
||||||
|
}
|
||||||
public virtual string DefaultOrderByTemplate
|
public virtual string DefaultOrderByTemplate
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -244,7 +251,8 @@ namespace SqlSugar
|
|||||||
if (IsCount) { return sql.ToString(); }
|
if (IsCount) { return sql.ToString(); }
|
||||||
var result= ToPageSql(sql.ToString(),this.Take,this.Skip);
|
var result= ToPageSql(sql.ToString(),this.Take,this.Skip);
|
||||||
if (ExternalPageIndex > 0) {
|
if (ExternalPageIndex > 0) {
|
||||||
result = ToPageSql(result,(ExternalPageIndex-1)*ExternalPageSize,ExternalPageSize);
|
result = string.Format("SELECT *,ROW_NUMBER() OVER(ORDER BY GETDATE()) AS RowIndex2 FROM ({0}) ExternalTable ", result);
|
||||||
|
result = ToPageSql(result, (ExternalPageIndex-1)*ExternalPageSize,ExternalPageSize,true);
|
||||||
}
|
}
|
||||||
this.OrderByValue = oldOrderBy;
|
this.OrderByValue = oldOrderBy;
|
||||||
return result;
|
return result;
|
||||||
@@ -254,27 +262,28 @@ namespace SqlSugar
|
|||||||
|
|
||||||
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ",sql);
|
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ",sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual string ToPageSql(string sql,int? take,int? skip)
|
public virtual string ToPageSql(string sql,int? take,int? skip,bool isExternal=false)
|
||||||
{
|
{
|
||||||
|
string temp = isExternal?ExternalPageTempalte:PageTempalte;
|
||||||
if (skip != null && take == null)
|
if (skip != null && take == null)
|
||||||
{
|
{
|
||||||
return string.Format(PageTempalte, sql.ToString(), skip.ObjToInt() + 1, long.MaxValue);
|
return string.Format(temp, sql.ToString(), skip.ObjToInt() + 1, long.MaxValue);
|
||||||
}
|
}
|
||||||
else if (skip == null && take != null)
|
else if (skip == null && take != null)
|
||||||
{
|
{
|
||||||
return string.Format(PageTempalte, sql.ToString(), 1, take.ObjToInt());
|
return string.Format(temp, sql.ToString(), 1, take.ObjToInt());
|
||||||
}
|
}
|
||||||
else if (skip != null && take != null)
|
else if (skip != null && take != null)
|
||||||
{
|
{
|
||||||
return string.Format(PageTempalte, sql.ToString(), skip.ObjToInt() + 1, skip.ObjToInt() + take.ObjToInt());
|
return string.Format(temp, sql.ToString(), skip.ObjToInt() + 1, skip.ObjToInt() + take.ObjToInt());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return sql.ToString();
|
return sql.ToString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual string ToJoinString(JoinQueryInfo joinInfo)
|
public virtual string ToJoinString(JoinQueryInfo joinInfo)
|
||||||
{
|
{
|
||||||
return string.Format(
|
return string.Format(
|
||||||
|
Binary file not shown.
Reference in New Issue
Block a user