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

@ -223,7 +223,7 @@ namespace SqlSugar
}
public virtual string ToSqlString()
{
string oldOrderBy=this.OrderByValue;
string oldOrderBy = this.OrderByValue;
if (!IsDisabledGobalFilter && this.Context.QueryFilter.GeFilterList.IsValuable())
{
var gobalFilterList = this.Context.QueryFilter.GeFilterList.Where(it => it.FilterName.IsNullOrEmpty()).ToList();
@ -249,23 +249,25 @@ namespace SqlSugar
sql.AppendFormat(SqlTemplate, GetSelectValue, GetTableNameString, GetWhereValueString, GetGroupByString + HavingInfos, (!isRowNumber && this.OrderByValue.IsValuable()) ? GetOrderByString : null);
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) {
var result = ToPageSql(sql.ToString(), this.Take, this.Skip);
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) {
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ",sql);
}
public virtual string ToPageSql(string sql,int? take,int? skip,bool isExternal=false)
public virtual string ToCountSql(string sql)
{
string temp = isExternal?ExternalPageTempalte:PageTempalte;
return string.Format(" SELECT COUNT(1) FROM ({0}) CountTable ", sql);
}
public virtual string ToPageSql(string sql, int? take, int? skip, bool isExternal = false)
{
string temp = isExternal ? ExternalPageTempalte : PageTempalte;
if (skip != null && take == null)
{
return string.Format(temp, sql.ToString(), skip.ObjToInt() + 1, long.MaxValue);
@ -283,7 +285,13 @@ namespace SqlSugar
return sql.ToString();
}
}
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(