public IQueryBuilder OrderBy(IQueryOrder orderBy) { if (orderBy != null && Orders.All(item => item.Field != orderBy.Field)) { Orders.Add(orderBy); } return(this); }
public static IQueryable <TEntity> ApplyOrder <TEntity, V>(this IQueryable <TEntity> src, IQueryOrder <TEntity, V> order) where TEntity : IDbEntity { if (order != null) { if (order.Direction == 0) { src = src.OrderBy(order.Expression).AsQueryable(); } else { src = src.OrderByDescending(order.Expression).AsQueryable(); } } return(src); }
public static IQueryable <T> ApplyOrdering <T, TOrderProperty>(this IQueryable <T> query, IQueryOrder <T, TOrderProperty> queryObj) { if (queryObj == null) { return(query); } if (queryObj.OrderBy == null) { return(query); } if (queryObj.IsOrderAscending) { return(query.OrderBy(queryObj.OrderBy)); } return(query.OrderByDescending(queryObj.OrderBy)); }
/// <summary> /// сортировка IQueryable на основе IQueryOrder /// </summary> public static IQueryable <TEntity> ApplyOrder <TEntity>(this IQueryable <TEntity> src, IQueryOrder <TEntity> order) where TEntity : class, IDbEntity { if (order != null) { src = order.OrderItems(src); } return(src); }
public OrderedQuerySpec(QuerySpec <TEntity> baseSpec, IQueryOrder <TEntity, TSortKey> order) { BaseSpec = baseSpec; Order = order; }