12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using Ant.Core;
- using Ant.Infrastructure;
- using Ant.ORM;
- using Ant.Query.QueryExpressions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- namespace Ant.Query
- {
- class OrderedQuery<T> : Queryable<T>, IOrderedQuery<T>
- {
- public OrderedQuery(AntORM dbContext, QueryExpression exp, bool trackEntity)
- : base(dbContext, exp, trackEntity)
- {
- }
- /// <summary>
- /// 按升序执行次要排序
- /// </summary>
- /// <typeparam name="K"></typeparam>
- /// <param name="predicate"></param>
- /// <returns></returns>
- public IOrderedQuery<T> ThenBy<K>(Expression<Func<T, K>> predicate)
- {
- OrderExpression e = new OrderExpression(QueryExpressionType.ThenBy, typeof(T), this.QueryExpression, predicate);
- return new OrderedQuery<T>(this.DbContext, e, this._trackEntity);
- }
- /// <summary>
- /// 按降序执行次要排序
- /// </summary>
- /// <typeparam name="K"></typeparam>
- /// <param name="predicate"></param>
- /// <returns></returns>
- public IOrderedQuery<T> ThenByDesc<K>(Expression<Func<T, K>> predicate)
- {
- OrderExpression e = new OrderExpression(QueryExpressionType.ThenByDesc, typeof(T), this.QueryExpression, predicate);
- return new OrderedQuery<T>(this.DbContext, e, this._trackEntity);
- }
- }
- }
|