/// <summary> /// Visits the <paramref name="queryModel"/> and generates a <see cref="QueryDescription"/>. /// </summary> /// <param name="queryModel">The query model.</param> /// <returns></returns> /// <remarks></remarks> public QueryDescription VisitAndGenerateQueryDescription(Remotion.Linq.QueryModel queryModel) { // Reset description builder _queryDescription = new QueryDescriptionBuilder(); VisitQueryModel(queryModel); return(_queryDescription); }
/// <summary> /// Visits the <paramref name="queryModel"/> and generates a <see cref="QueryDescription"/>. /// </summary> /// <param name="queryModel">The query model.</param> /// <returns></returns> /// <remarks></remarks> public QueryDescription VisitAndGenerateQueryDescription(Remotion.Linq.QueryModel queryModel) { // Reset description builder _queryDescription = new QueryDescriptionBuilder(); VisitQueryModel(queryModel); // If we haven't found any result operators then add one just saying sequence if (!_queryDescription.ResultFilters.Any()) { _queryDescription.AddResultFilter(GetResultType(queryModel), ResultFilterType.Sequence, -1); } return(_queryDescription); }
public override void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType) { var relationTypeExpr = FirstParameter as ConstantExpression; var parentIdsExpr = ExcludeParentIds as ConstantExpression; if (relationTypeExpr == null || parentIdsExpr == null) { return; } var relationType = (relationTypeExpr.Value as RelationType) ?? FixedRelationTypes.DefaultRelationType; var parentIds = (parentIdsExpr.Value as IEnumerable <HiveId>) ?? Enumerable.Empty <HiveId>(); if (parentIds.Any()) { queryDescription.From.ExcludeParentIds = parentIds; } }
public override void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType) { var pageNumberExpr = FirstParameter as ConstantExpression; var pageSizeExpr = PageSize as ConstantExpression; if (pageNumberExpr == null || pageSizeExpr == null) { return; } int?pageNumber = pageNumberExpr.Value as int?; int?pageSize = pageSizeExpr.Value as int?; if (pageNumber.HasValue && pageSize.HasValue) { queryDescription.AddSkipResultFilter(resultType, pageSize.Value * (pageNumber.Value - 1)); queryDescription.AddTakeResultFilter(resultType, pageSize.Value); } }
public override void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType) { var constant = FirstParameter as ConstantExpression; //queryDescription.From.RequiredEntityIds = (IEnumerable<HiveId>)(constant.Value); }
public override void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType) { var constant = FirstParameter as ConstantExpression; queryDescription.From.RevisionStatusType = (RevisionStatusType)(constant.Value); }
public abstract void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType);
public override void ModifyQueryDescription(QueryDescriptionBuilder queryDescription, Type resultType) { var constant = FirstParameter as ConstantExpression; queryDescription.From.ExcludeEntityIds = (IEnumerable <HiveId>)(constant.Value); }