This commit is contained in:
sunkaixuan
2017-07-14 11:04:23 +08:00
parent 2a1e2cfd34
commit f1428ff1ff
3 changed files with 29 additions and 21 deletions

View File

@@ -132,7 +132,7 @@ namespace OrmTest.Demo
int count = 0;
var list4 = db.Queryable<Student>()
.PartitionBy(it => new { it.Name }).Take(1).ToPageList(2,3,ref count);
.PartitionBy(it => new { it.Name }).Take(1).ToPageList(3,3,ref count);
//SqlFunc.AggregateSum(object thisValue)
//SqlFunc.AggregateAvg<TResult>(TResult thisValue)

View File

@@ -37,14 +37,14 @@ namespace OrmTest
/***Demo***/
OrmTest.Demo.Query.Init();
OrmTest.Demo.Insert.Init();
OrmTest.Demo.Delete.Init();
OrmTest.Demo.Update.Init();
OrmTest.Demo.DbFirst.Init();
OrmTest.Demo.JoinSql.Init();
OrmTest.Demo.Filter.Init();
OrmTest.Demo.ComplexModel.Init();
OrmTest.Demo.CodeFirst.Init();
//OrmTest.Demo.Insert.Init();
//OrmTest.Demo.Delete.Init();
//OrmTest.Demo.Update.Init();
//OrmTest.Demo.DbFirst.Init();
//OrmTest.Demo.JoinSql.Init();
//OrmTest.Demo.Filter.Init();
//OrmTest.Demo.ComplexModel.Init();
//OrmTest.Demo.CodeFirst.Init();
}
}
}

View File

@@ -250,15 +250,17 @@ namespace SqlSugar
sql.Replace("{$:OrderByString:$}", isRowNumber ? (this.IsCount ? null : rowNumberString) : null);
if (IsCount) { return sql.ToString(); }
var result = ToPageSql(sql.ToString(), this.Take, this.Skip);
if (ExternalPageIndex > 0) {
if (ExternalPageIndex > 0)
{
result = string.Format("SELECT *,ROW_NUMBER() OVER(ORDER BY GETDATE()) AS RowIndex2 FROM ({0}) ExternalTable ", result);
result = ToPageSql(result, (ExternalPageIndex-1)*ExternalPageSize,ExternalPageSize,true);
result = ToPageSql2(result,ExternalPageIndex, ExternalPageSize, true);
}
this.OrderByValue = oldOrderBy;
return result;
}
public virtual string ToCountSql(string sql) {
public virtual string ToCountSql(string sql)
{
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ", sql);
}
@@ -284,6 +286,12 @@ namespace SqlSugar
}
}
public virtual string ToPageSql2(string sql, int? pageIndex, int? pageSize, bool isExternal = false)
{
string temp = isExternal ? ExternalPageTempalte : PageTempalte;
return string.Format(temp, sql.ToString(), (pageIndex - 1) * pageSize+1, pageIndex * pageSize);
}
public virtual string ToJoinString(JoinQueryInfo joinInfo)
{
return string.Format(