/// <inheritdoc /> public override IMappedQuerySpecification <TEntity, TTarget> And <TTarget>(IMappedQuerySpecification <TEntity, TTarget> specification) where TTarget : class { Expression <Func <TEntity, bool> >?criteria = this.ResolveCriteria(specification); return(new BaseMappedQuerySpecification <TEntity, TTarget>() { Criteria = criteria, OrderBy = specification.OrderBy.ToList(), Skip = specification.Skip, Take = specification.Take, Selector = specification.Selector, PostAction = specification.PostAction }); }
public IMappedQuerySpecification <TEntity, TEntity> And(IMappedQuerySpecification <TEntity, TEntity> specification) { throw new NotImplementedException(); }
/// <summary> /// Apply given specification on the <see cref="Queryable"/> collection and return results. /// </summary> /// <param name="queryable"></param> /// <param name="specification"></param> /// <param name="defaultSort">Výchozí řadící kritérium.</param> /// <typeparam name="TType"></typeparam> /// <typeparam name="TTarget"></typeparam> /// <returns></returns> public static IReadOnlyList <TTarget> ResolveSpecification <TType, TTarget>( this IQueryable <TType> queryable, IMappedQuerySpecification <TType, TTarget>?specification, (SpecificationSortType sortType, Expression <Func <TType, object> > selector) defaultSort
/// <summary> /// Apply given specification on the <see cref="Queryable"/> collection. /// </summary> /// <param name="queryable"></param> /// <param name="specification"></param> /// <typeparam name="TType"></typeparam> /// <typeparam name="TTarget"></typeparam> /// <returns></returns> public static IQueryable <TType> ApplyQuerySpecification <TType, TTarget>(this IQueryable <TType> queryable, IMappedQuerySpecification <TType, TTarget> specification) where TType : class where TTarget : class { return(queryable.ApplySpecification(specification)); }