Skip to content

Releases: SimonCropp/GraphQL.EntityFramework

34.1.9

02 Apr 01:22

Choose a tag to compare

Bug Fix

  • AddSingleField now loads filter-required navigation properties via Include (#1229) — When using AddSingleField with
    where filters that reference navigation properties, the required navigations are now automatically included so the
    filter can evaluate correctly. Previously this could fail because the navigation data wasn't loaded.

Other Changes

  • Cleanup: removed unused package references, FodyWeavers entries, and simplified IncludeAppender
  • Internal improvements to EfGraphQLService_Navigation, Mapper, and test coverage

34.1.8

02 Apr 01:23
326d09f

Choose a tag to compare

  • Handle Include on projected queries in IncludeAppender (#1228) — EF Core does not support Include on non-entity
    queries (e.g., after a Select projection). The IncludeAppender now detects projected queries and skips applying
    Include, catching InvalidOperationException as a fallback. This prevents runtime errors when combining Select
    projections with navigation property filters.

Other Changes

  • Minor improvements to SelectExpressionBuilder
  • Added integration tests for select projections with and without navigation filters

34.2.0

02 Apr 01:24

Choose a tag to compare

Breaking Changes

  • Dropped abstract type projection support (#1233) — Abstract types in projections are no longer automatically
    handled. Use concrete types or explicit projections instead.
  • Removed obsolete APIs (#1230) — Previously deprecated APIs have been removed.

Bug Fixes

  • Fix circular Include walkback — Track visited entity types when building Include paths to prevent infinite loops
    with circular or redundant includes.
  • Fix connection ordering check when Include() strips IOrderedQueryable (#1262) — Entities with read-only properties
    no longer break connection ordering after Include() strips the IOrderedQueryable interface.
  • Fix projection of fragment spreads in connection node fields (#1261) — Fragment spreads (... on Type) now project
    correctly in connection items/edges/node fields.
  • Get navigation props working on concrete types where the name property is not present on the TPH base (#1254) —
    Navigation properties defined only on derived types in TPH hierarchies now resolve correctly.
  • Avoid converting filter projections to strings (#1231) — Filter projections are no longer unnecessarily stringified.

Enhancements

  • Support casts in ProjectionAnalyzer — ProjectionAnalyzer now handles UnaryExpression nodes (Convert, TypeAs),
    enabling property path extraction through explicit and as casts.
  • Added discriminator for TPH tables (#1236) — TPH (Table Per Hierarchy) tables now include discriminator handling.
  • WithProjection — Added projection support improvements.
  • Clarified guidance for abstract projections — Error and diagnostic messages now recommend either making the type
    concrete or using an explicit projection.

Dependencies

  • Bumped EfOrderBy from 0.1.6 to 0.2.1 (#1234)
  • Bumped MarkdownSnippets.MsBuild to 28.0.2
  • Various package updates

Other

  • Modernised SampleWeb project
  • Analyzer project references now only included in Release configuration
  • Removed try/catch around Include calls (no longer needed after projection changes)
  • Various cleanup and ref updates

34.1.7

03 Feb 03:06
38f6b9c

Choose a tag to compare

  • #1227 Add include fallback for abstract navigation filters

34.1.6

02 Apr 01:25

Choose a tag to compare

  • Allow explicit projections through abstract navigations — Explicit projections can now traverse abstract navigation
    properties, relaxing the previous restriction. Updated FilterIdentityProjectionAnalyzer and FilterEntry validation
    logic accordingly.

34.1.5

02 Apr 01:31
37ea8a1

Choose a tag to compare

  • Fix filter projection to avoid selecting all navigation fields (#1226) — When filters referenced navigation
    properties, the projection system was selecting all fields from the navigation entity. Now only the required fields
    are projected.

New Analyzer

  • GQLEF007 — New diagnostic that warns when filter projections traverse abstract navigation properties, with an
    accompanying code fix provider (AbstractNavigationProjectionCodeFixProvider) to convert identity projections to
    explicit projections.

Enhancements

  • Added FilterEntry validation logic for filter projection requirements
  • Simplified IncludeAppender by removing redundant logic now handled by filter projections
  • Added filtering test infrastructure with
    FilterBaseEntity/FilterDerivedEntity/FilterParentEntity/FilterReferenceEntity and corresponding graph types

Docs

  • Added docs/analyzers/GQLEF007.md documentation
  • Updated docs/filters.md with filter projection guidance

34.1.4

01 Feb 03:02

Choose a tag to compare

  • #1225 Handle filter projections with abstract navigations

34.0.1

29 Jan 00:29
cd4715a

Choose a tag to compare

  • #1220 Fix tph filter projection for derived types

22.0.0

16 Jan 21:57
5fd52d7

Choose a tag to compare

As part of this release we had 4 commits which resulted in 1 issue being closed.

Feature

  • #779 add omitQueryArguments

21.3.0

22 Dec 05:02
23ebecf

Choose a tag to compare

As part of this release we had 14 commits which resulted in 1 issue being closed.

Feature

  • #778 Where date and time