File tree Expand file tree Collapse file tree
JsonApiToolkit/Controllers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -160,26 +160,27 @@ string resourceType
160160 parameters . Include
161161 ) ;
162162
163- // Apply filtered includes if we have any include filters
164- if ( includeFilters . Count > 0 )
165- {
166- queryable = queryable . ApplyFilteredIncludes ( mappedIncludes , includeFilters ) ;
167- }
168- else
169- {
170- // Regular includes without filters
171- queryable = queryable . ApplyIncludes ( mappedIncludes ) ;
172- }
173-
174163 IQueryable < T > filteredQuery = queryable ;
175164
176- // Apply only the main entity filters (include filters were already applied)
165+ // Apply main entity filters first
177166 if ( mainFilters != null )
178167 filteredQuery = filteredQuery . ApplyFilters ( mainFilters ) ;
179168
169+ // Apply sorting before includes to prevent EF Core query translation issues
180170 if ( parameters . Sort ? . Count > 0 )
181171 filteredQuery = filteredQuery . ApplySorting ( parameters . Sort ) ;
182172
173+ // Apply filtered includes after sorting to avoid complex query translation issues
174+ if ( includeFilters . Count > 0 )
175+ {
176+ filteredQuery = filteredQuery . ApplyFilteredIncludes ( mappedIncludes , includeFilters ) ;
177+ }
178+ else
179+ {
180+ // Regular includes without filters
181+ filteredQuery = filteredQuery . ApplyIncludes ( mappedIncludes ) ;
182+ }
183+
183184 int totalCount = await filteredQuery . CountAsync ( ) . ConfigureAwait ( false ) ;
184185
185186 if ( parameters . Pagination != null )
You can’t perform that action at this time.
0 commit comments