Repository navigation
Two parts: an audit pass over the pipeline (six real bugs, each reproduced against a real model shape first, then fixed with a dedicated test), and two new opt-in capabilities requested directly off the back of that audit. Three of the six fixes are breaking because the previous behavior was either silently wrong or crashed with a raw, unnamed exception; the other three are pure fixes with no change to already-correct generated data. Neither new capability changes what an existing call generates.
Breaking
- An optional (nullable) foreign key outside a dependency cycle is now actually populated, following the same
NullRateas any other nullable column, instead of always staying null. - A required EF Core 8+ complex property (
ComplexProperty, including a nested one) now throwsUnsupportedPropertyExceptionnaming the full path, instead of being silently left at its CLR default. - Two entity types genuinely table-split into the same table now throw
UnsupportedEntityTypeExceptioninstead of each getting its own, independently generated row.
Added
AUTOSEED001: a Roslyn analyzer bundled directly in theEFCore.AutoSeedpackage, flagging a required self-referencing foreign key directly in the IDE.Entity<T>().SeedWith(rows): seeds a lookup table with an exact, literal set of rows instead of generated ones.AutoSeedAsynconly for now.autoseed diff(CLI) andAutoSeedDiff.Compare(library): diffs the seeding plan against a saved baseline, so a model change that alters what gets seeded shows up as an explicit, reviewable diff. Exits non-zero for use as a CI gate.
Fixed
- An
OwnsManyowned collection is now reported inSkippedEntityTypesinstead of being silently, unexplainedly left empty. - An implicit many-to-many join table no longer crashes the entire seeding call with a raw
TargetParameterCountException. - A SQL Server temporal table no longer crashes
AutoSeedFastAsync.
Full changelog: https://github.com/danellalc/EFCore.AutoSeed/blob/main/CHANGELOG.md