This commit is contained in:
sunkaixuan
2017-04-25 01:28:58 +08:00
parent 8b40442e09
commit fe4fcefcf3
2 changed files with 21 additions and 21 deletions

View File

@@ -184,12 +184,14 @@ namespace SqlSugar
public ISugarQueryable<T> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc) public ISugarQueryable<T> OrderBy(Expression<Func<T, object>> expression, OrderByType type = OrderByType.Asc)
{ {
throw new NotImplementedException(); this._OrderBy(expression, type);
return this;
} }
public ISugarQueryable<T> OrderBy<T2>(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc) public ISugarQueryable<T> OrderBy<T2>(Expression<Func<T, T2, object>> expression, OrderByType type = OrderByType.Asc)
{ {
throw new NotImplementedException(); this._OrderBy(expression, type);
return this;
} }
public ISugarQueryable<T> GroupBy(Expression<Func<T, object>> expression) public ISugarQueryable<T> GroupBy(Expression<Func<T, object>> expression)
@@ -347,6 +349,7 @@ namespace SqlSugar
public List<T> ToList() public List<T> ToList()
{ {
this.Pars.AddRange(SqlBuilder.LambadaQueryBuilder.QueryPars);
var sqlObj =this.ToSql(); var sqlObj =this.ToSql();
var isComplexModel = Regex.IsMatch(sqlObj.Key, @"AS \[\w+\.\w+\]"); var isComplexModel = Regex.IsMatch(sqlObj.Key, @"AS \[\w+\.\w+\]");
using (var dataReader = this.Db.GetDataReader(sqlObj.Key, sqlObj.Value.ToArray())) using (var dataReader = this.Db.GetDataReader(sqlObj.Key, sqlObj.Value.ToArray()))
@@ -373,7 +376,7 @@ namespace SqlSugar
throw new NotImplementedException(); throw new NotImplementedException();
} }
public string ToJsonPage(int pageIndex, int pageSize, ref int pageCount) public string ToJsonPage(int pageIndex, int pageSize, ref int totalNumber)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
@@ -394,7 +397,7 @@ namespace SqlSugar
throw new NotImplementedException(); throw new NotImplementedException();
} }
public DataTable ToDataTablePage(int pageIndex, int pageSize, ref int pageCount) public DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
@@ -404,7 +407,7 @@ namespace SqlSugar
throw new NotImplementedException(); throw new NotImplementedException();
} }
public List<T> ToPageList(int pageIndex, int pageSize, ref int pageCount) public List<T> ToPageList(int pageIndex, int pageSize, ref int totalNumber)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
@@ -412,19 +415,16 @@ namespace SqlSugar
#region #region
protected void _Where(Expression expression) protected void _Where(Expression expression)
{ {
ResolveExpressType type = ResolveExpressType.WhereSingle; var isSingle = SqlBuilder.LambadaQueryBuilder.IsSingle();
if (SqlBuilder.LambadaQueryBuilder.JoinQueryInfos.IsValuable()) var result=SqlBuilder.LambadaQueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple);
{ SqlBuilder.LambadaQueryBuilder.WhereInfos.Add(SqlBuilder.AppendWhereOrAnd(SqlBuilder.LambadaQueryBuilder.WhereInfos.IsNullOrEmpty(),result.GetResultString()));
type = ResolveExpressType.WhereMultiple; }
} protected ISugarQueryable<T> _OrderBy(Expression expression, OrderByType type = OrderByType.Asc)
ILambdaExpressions resolveExpress = this.SqlBuilder.LambadaQueryBuilder.LambdaExpressions; {
resolveExpress.IgnoreComumnList = this.Context.IgnoreComumns; var isSingle = SqlBuilder.LambadaQueryBuilder.IsSingle();
resolveExpress.MappingColumns = this.Context.MappingColumns; var orderByValue = SqlBuilder.LambadaQueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple);
resolveExpress.MappingColumns = this.Context.MappingColumns; OrderBy(orderByValue + " " + type.ToString().ToUpper());
resolveExpress.Resolve(expression, type); return this;
BasePars.AddRange(resolveExpress.Parameters);
SqlBuilder.LambadaQueryBuilder.WhereInfos.Add(SqlBuilder.AppendWhereOrAnd(SqlBuilder.LambadaQueryBuilder.WhereInfos.IsNullOrEmpty(), resolveExpress.Result.GetResultString()));
resolveExpress.Clear();
} }
#endregion #endregion
} }

View File

@@ -82,17 +82,17 @@ namespace SqlSugar
string ToJson(); string ToJson();
string ToJsonPage(int pageIndex, int pageSize); string ToJsonPage(int pageIndex, int pageSize);
string ToJsonPage(int pageIndex, int pageSize, ref int pageCount); string ToJsonPage(int pageIndex, int pageSize, ref int totalNumber);
KeyValuePair<string, List<SugarParameter>> ToSql(); KeyValuePair<string, List<SugarParameter>> ToSql();
DataTable ToDataTable(); DataTable ToDataTable();
DataTable ToDataTablePage(int pageIndex, int pageSize); DataTable ToDataTablePage(int pageIndex, int pageSize);
DataTable ToDataTablePage(int pageIndex, int pageSize, ref int pageCount); DataTable ToDataTablePage(int pageIndex, int pageSize, ref int totalNumber);
List<T> ToPageList(int pageIndex, int pageSize); List<T> ToPageList(int pageIndex, int pageSize);
List<T> ToPageList(int pageIndex, int pageSize, ref int pageCount); List<T> ToPageList(int pageIndex, int pageSize, ref int totalNumber);
void Clear(); void Clear();