mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-01 10:10:16 +08:00
Order by new expression
This commit is contained in:
parent
f192e68817
commit
719cc8d136
@ -321,6 +321,7 @@ namespace OrmTest.Demo
|
|||||||
var dbTime = db.GetDate();
|
var dbTime = db.GetDate();
|
||||||
var getAll = db.Queryable<Student>().Select<object>("*").ToList();
|
var getAll = db.Queryable<Student>().Select<object>("*").ToList();
|
||||||
var getAll2 = db.Queryable<Student>().ToList();
|
var getAll2 = db.Queryable<Student>().ToList();
|
||||||
|
var getAll3 = db.Queryable<Student>().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select<object>("id").ToList();
|
||||||
var getRandomList = db.Queryable<Student>().OrderBy(it => SqlFunc.GetRandom()).ToList();
|
var getRandomList = db.Queryable<Student>().OrderBy(it => SqlFunc.GetRandom()).ToList();
|
||||||
var getAllOrder = db.Queryable<Student>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
|
var getAllOrder = db.Queryable<Student>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();
|
||||||
var getId = db.Queryable<Student>().Select(it => it.Id).ToList();
|
var getId = db.Queryable<Student>().Select(it => it.Id).ToList();
|
||||||
|
@ -1006,9 +1006,19 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
QueryBuilder.CheckExpression(expression, "OrderBy");
|
QueryBuilder.CheckExpression(expression, "OrderBy");
|
||||||
var isSingle = QueryBuilder.IsSingle();
|
var isSingle = QueryBuilder.IsSingle();
|
||||||
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple);
|
if ((expression as LambdaExpression).Body is NewExpression)
|
||||||
OrderBy(lamResult.GetResultString() + UtilConstants.Space + type.ToString().ToUpper());
|
{
|
||||||
return this;
|
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.ArraySingle : ResolveExpressType.ArrayMultiple);
|
||||||
|
var items = lamResult.GetResultString().Split(',').Where(it => it.HasValue()).Select(it=> it + UtilConstants.Space + type.ToString().ToUpper()).ToList();
|
||||||
|
OrderBy(string.Join(",",items));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var lamResult = QueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple);
|
||||||
|
OrderBy(lamResult.GetResultString() + UtilConstants.Space + type.ToString().ToUpper());
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
protected ISugarQueryable<T> _GroupBy(Expression expression)
|
protected ISugarQueryable<T> _GroupBy(Expression expression)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user