public CustomerDemographicCollectionResponse Fetch(CustomerDemographicQueryCollectionRequest request)
        {
            base.FixupLimitAndPagingOnRequest(request);

            var totalItemCount  = 0;
            var sortExpression  = RepositoryHelper.ConvertStringToSortExpression(EntityType, request.Sort);
            var includeFields   = RepositoryHelper.ConvertStringToExcludedIncludedFields(EntityType, request.Select);
            var prefetchPath    = RepositoryHelper.ConvertStringToPrefetchPath(EntityType, request.Include, request.Select);
            var predicateBucket = RepositoryHelper.ConvertStringToRelationPredicateBucket(EntityType, request.Filter, request.Relations);

            EntityCollection <CustomerDemographicEntity> entities;

            using (var adapter = DataAccessAdapterFactory.NewDataAccessAdapter())
            {
                OnBeforeFetchCustomerDemographicQueryCollectionRequest(adapter, request, sortExpression, includeFields, prefetchPath, predicateBucket,
                                                                       request.PageNumber, request.PageSize, request.Limit);
                entities = base.Fetch(adapter, sortExpression, includeFields, prefetchPath, predicateBucket,
                                      request.PageNumber, request.PageSize, request.Limit, out totalItemCount);
                OnAfterFetchCustomerDemographicQueryCollectionRequest(adapter, request, entities, sortExpression, includeFields, prefetchPath, predicateBucket,
                                                                      request.PageNumber, request.PageSize, request.Limit, totalItemCount);
            }
            var response = new CustomerDemographicCollectionResponse(entities.ToDtoCollection(), request.PageNumber,
                                                                     request.PageSize, totalItemCount);

            return(response);
        }
        /// <summary>Queries 'CustomerDemographic' entities using sorting, filtering, eager-loading, paging and more.</summary>
        public CustomerDemographicCollectionResponse Get(CustomerDemographicQueryCollectionRequest request)
        {
            OnBeforeGetCustomerDemographicQueryCollectionRequest(request);
            var output = Repository.Fetch(request);

            OnAfterGetCustomerDemographicQueryCollectionRequest(request, output);
            return(output);
        }
 partial void OnAfterFetchCustomerDemographicQueryCollectionRequest(IDataAccessAdapter adapter, CustomerDemographicQueryCollectionRequest request, EntityCollection <CustomerDemographicEntity> entities, SortExpression sortExpression, ExcludeIncludeFieldsList excludedIncludedFields, IPrefetchPath2 prefetchPath, IRelationPredicateBucket predicateBucket, int pageNumber, int pageSize, int limit, int totalItemCount);
 partial void OnBeforeFetchCustomerDemographicQueryCollectionRequest(IDataAccessAdapter adapter, CustomerDemographicQueryCollectionRequest request, SortExpression sortExpression, ExcludeIncludeFieldsList excludedIncludedFields, IPrefetchPath2 prefetchPath, IRelationPredicateBucket predicateBucket, int pageNumber, int pageSize, int limit);
 partial void OnAfterGetCustomerDemographicQueryCollectionRequest(CustomerDemographicQueryCollectionRequest request, CustomerDemographicCollectionResponse response);
 partial void OnBeforeGetCustomerDemographicQueryCollectionRequest(CustomerDemographicQueryCollectionRequest request);