Skip to content

Docs: include paths are leaf-only; record ThenInclude and Exclude decisions - #128

Merged
joadan merged 1 commit into
mainfrom
docs/include-paths
Oct 27, 2026
Merged

joadan merged 1 commit into
mainfrom
docs/include-paths

Conversation

@joadan

@joadan joadan commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Docs only, no code changes.

  • Selecting fields: new section, Include: only the end of a path gets its fields. It explains the rule and why it works that way, warns that fields not requested keep C# defaults (0, Guid.Empty) and recommends projecting when that matters, and shows EF Core users how to write a ThenInclude chain as nested Select.
  • Getting started: fixes "Scalar fields are always fetched", which was wrong for the levels in the middle of an include path.
  • docs/design/include-paths.md: the design rationale. It covers why include paths are leaf-only, why EF Core-style ThenInclude was prototyped and rejected, and why Exclude is deferred until a real case shows up (a generator setting comes first).

…isions

- Selecting fields: new section explaining that only the end of an Include
  path gets its scalar fields, why, the default-values gotcha, and how to
  write an EF Core ThenInclude chain as nested Select.
- Getting started: correct "Scalar fields are always fetched".
- docs/design/include-paths.md: the rationale, the rejected ThenInclude
  prototype, and Exclude deferred until a real case (generator setting first).
@joadan
joadan merged commit fda2d0d into main Oct 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant