Skip to content

34.2.0

Latest

Choose a tag to compare

@SimonCropp SimonCropp released this 02 Apr 01:24
· 15 commits to main since this release

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