Skip to content

History

Revisions

  • List each database's default schema on the Settings runtime values page The page said the default schema was per-database but no page gave the MySQL or Oracle value. The table comes from each reader's DefaultSchema method in Efrpg.

    @sjh37 sjh37 committed Sep 10, 2026
    98a4e2d
  • Fix broken wiki links to missing Settings Reference sections and pages Settings Reference is now a single A to Z table, so links to its old per-setting anchors landed at the top of the page. Links to settings documented on a shared page, such as Settings.HiLoSequences, pointed at pages that do not exist. Both now go to the page and section that document the setting.

    @sjh37 sjh37 committed Sep 10, 2026
    c42e8f4
  • Remove the duplicate H1 title from wiki pages and deep-link Settings Reference entries GitHub Wiki already renders the page name as the title, so a leading # heading made it appear twice. Home keeps its heading as it names the project rather than repeating "Home". Settings Reference rows for settings documented on a shared page now link to the relevant section.

    @sjh37 sjh37 committed Sep 10, 2026
    678893f
  • Updated Settings.PrependSchemaName (markdown)

    @sjh37 sjh37 committed Sep 10, 2026
    ed38829
  • Move links to the ReversePOCO organisation

    @sjh37 sjh37 committed Sep 8, 2026
    05c720c
  • Remove GenerationLanguage, FileExtension, IncludeQueryTraceOn9481Flag and FilterCount The FileExtension page goes, the CommandTimeout page covers only the timeout, the trace-flag advice leaves the SQL Server page, and the upgrade guide lists thirteen assignments to delete. Settings index regenerated.

    @sjh37 sjh37 committed Sep 8, 2026
    8fec38c
  • Remove Settings.GeneratorType from every page TemplateType alone decides which generator runs in v4. The pairing tables and assignments go, the upgrade guide lists it as the tenth removed setting, and the settings index is regenerated.

    @sjh37 sjh37 committed Sep 7, 2026
    8fa035a
  • Add the scaffolder comparison and the JetBrains Rider page The comparison sets this generator against dotnet ef dbcontext scaffold with generated, drift-checked samples. The Rider page covers setup without the extension and the differences from Visual Studio. Home, the sidebar and the upgrade guide link to them; the upgrade guide now leads with the right-click command.

    @sjh37 sjh37 committed Sep 7, 2026
    f9f1073
  • added a comparison to Ms Scaffolder

    @sjh37 sjh37 committed Sep 7, 2026
    736209f
  • Upgrade guide: step 4d lists the nine settings v4 removed The numbered steps stopped at 4c, so a hand upgrade ended with nine compile errors that only the prose at the bottom of the page explained. Step 4d lists the assignments to delete, notes the four delegates run to their closing brace, and says the right-click command does all of step 4.

    @sjh37 sjh37 committed Sep 6, 2026
    1e42117
  • Filtering: the filter class is DbContextFilter now SingleContextFilter was folded into DbContextFilter once multi-context generation went, and the page's heading no longer needs to say which kind of generation it is about.

    @sjh37 sjh37 committed Sep 6, 2026
    fca7921
  • Remove the pages for features v4 dropped Multi-context generation, file-based templates and the custom generator were removed before the v4 release. Their five pages go; the upgrade page gains a Removed in v4 section saying what went, why, and that v3 stays downloadable. The page that also documented FileExtension and GenerationLanguage becomes Settings.FileExtension, and Settings-Reference is regenerated.

    @sjh37 sjh37 committed Sep 6, 2026
    7445af7
  • Stub the generator version in the GeneratedCode sample Regenerated after the version was stubbed to v4.x.x, so this snippet no longer changes on every release.

    @sjh37 sjh37 committed Aug 30, 2026
    27135fa
  • Complete the per-setting pages, and turn Settings-Reference into the index Twenty more pages, covering the settings that were left. All 118 settings on Settings now have a page, and Settings-Reference.md is a generated A-Z table linking each name to it. Settings that are always set together share a page: the five class modifier settings, the two collection settings, the three connection string settings, the folder settings, the namespace settings, the enum settings, the four MultiContextAllFields callbacks, and the read-only runtime values. The index links every setting name, so the reader never needs to know which page a setting lives on. Filtering gains generated before-and-after output for IncludeViews, and RowVersion-and-TimeStamp-columns gains the generated entity, both checked by the drift test like the rest. The sidebar now points at the index rather than listing pages, and Settings-Callbacks keeps its pipeline overview above links to the individual callback pages.

    @sjh37 sjh37 committed Aug 30, 2026
    8b9f255
  • Add pages for the core, namespace, view and relationship settings Nine more, several of them shared pages for settings that only make sense read together: the three provider/template settings, the three connection string settings, the namespace settings, the enum settings, the folder settings, and the two nullability spelling settings. Plus ViewProcessing, AddExtraForeignKeys, UseMappingTables and the timeout pair. ViewProcessing is the one worth reading. A view has no primary key, so the generator falls back to treating every non-nullable column as part of a composite key - which silently makes EF de-duplicate rows that are not duplicates.

    @sjh37 sjh37 committed Aug 30, 2026
    2b473a3
  • Add pages for the modifier, collection, schema and stored proc settings Five more: the five class modifier settings on one page, the two collection settings on another, GenerateHasDefaultValueSql, PrependSchemaName and UsePropertiesForStoredProcResultSets. Two facts worth having written down. The collection interface must be assignable from the concrete type, so IList with HashSet does not compile and the generator does not check. And UsePropertiesForStoredProcResultSets does nothing at all on a single-result-set procedure, which is why people report it as broken.

    @sjh37 sjh37 committed Aug 30, 2026
    e061eea
  • Add per-setting pages for file layout and the DbContext Ten more: GenerateSeparateFiles, UseRegions, UsePragma, UseResharper, IncludeCodeGeneratedAttribute, and shared pages for the header/footer text settings, the two DbContext name settings, the two base class settings, and AddUnitTestingDbContext with FakeDbContextInDebugOnlyMode. Settings that are always set together, or that only make sense read together, share a page. Four separate stubs saying 'see the other one' would be worse documentation than one page that explains the pair. UseResharper's page leads with the fact that the shipped Database.tt sets it true while the class initialiser says false.

    @sjh37 sjh37 committed Aug 30, 2026
    663c5c5
  • Add per-setting pages for the POCO shape settings Ten more: UsePascalCase, UseDataAnnotations, UsePropertyInitialisers, UseLazyLoading, AllowNullStrings, IncludeColumnsWithDefaults, IncludeFieldNameConstants, OrderProperties, TableSuffix, and a shared page for IncludeComments and IncludeExtendedPropertyComments. The two comment settings share a page because they take the same enum and the useful thing to say is why their defaults differ - schema facts at the end of the line, human descriptions in a summary block.

    @sjh37 sjh37 committed Aug 30, 2026
    6c44645
  • Add per-setting pages for the callbacks and the undocumented settings Twelve more pages. Every generated code block is produced by Generator.Tests.Unit/DocSamples and checked by WikiSnippetDriftTests. The previously undocumented ones are the point of this batch: PrependSchemaNameForStoredProcedure, AddOwnedEntityMappings, the four MultiContextAllFields*Processing callbacks, and a shared page for the runtime values - Root, TemplateFile, FilterCount and DefaultConstructorArgument - which appear in examples across five other pages and were explained on none. The four MultiContextAllFields callbacks share one page rather than having four near-identical ones. They differ only in which object they hand you. ForeignKeyName documents all six attempt numbers. The wiki previously said five, and attempt 6 is the one whose answer is used whether it collides or not.

    @sjh37 sjh37 committed Aug 30, 2026
    edf7919
  • Add the first five per-setting pages One page per setting, each showing the generated code before and after. Every code block marked <!-- docsample: ... --> is generated by Generator.Tests.Unit/DocSamples in the generator repository and checked by WikiSnippetDriftTests, so it cannot quietly stop being true. New: ElementsToGenerate, UpdateColumn, UsePrivateSetterForComputedColumns, and PrependSchemaNameForTable - the last of which is in Settings.cs but in neither Database.tt nor the wiki, so nobody could have found it. OnConfiguration is rewritten to the same template. Its IConfiguration example had already drifted: the generated field is nullable. Settings-Reference and Settings-Callbacks link to the new pages and keep their existing anchors.

    @sjh37 sjh37 committed Aug 30, 2026
    dab7a1f
  • Correct the wiki against the v4 codebase Removes documented APIs that do not exist, fixes behaviour described backwards, and updates pages still describing v3. Fabricated: Settings.ForeignKeyNamingStrategy and its enum, and Settings.ApplyColumnCustomizations. Neither is in either repository. Filtering: filters are OR'd via Any(), not applied in sequence, and multiple RegexIncludeFilters are merged into one alternation first. Settings.ColumnIdentity: the shipped default returns empty for MySQL because Pomelo has no UseIdentityColumn, and honours HiLoSequences; the old example broke both. Schema prefixing: the schema is prepended verbatim and the table is singularised, so billing.Orders is billing_Order, not Billing_Orders. Defaults now follow Database.tt rather than the class initialiser, which differ for DisableGeographyTypes, UseResharper and the folder settings. NullableReverseNavigationProperties was simply wrong. Also: MySQL and Oracle do read column comments through the extended property pipeline; PostgreSQL result models cover set-returning functions only; CommentsStyle is not a flags enum; GenerationLanguage has a Javascript member; sp_describe_first_result_set is never used; the DbContext is not sealed, just not partial; and there is no EnvDTE dependency left for the scripty page to object to. Fills in eleven settings that ship in Database.tt but were undocumented, and adds a per-database DefaultSchema table - SQL Server uses SCHEMA_NAME(), not a hardcoded dbo.

    @sjh37 sjh37 committed Aug 30, 2026
    bcc39c0
  • Oracle: use an obvious placeholder in the GRANT example efrpg_reader implied a dedicated read-only account the generator never asks for, and contradicted the note below it about connecting as the schema owner.

    @sjh37 sjh37 committed Aug 30, 2026
    28d0717
  • Oracle: rewrite the synonyms and stored proc result model notes The synonyms row carried the wording from the generator repo's internal TODO.md ("ALL_SYNONYMS is there whenever somebody asks for it"), which reads as a shrug in user-facing documentation. Replaced with a section that says what actually happens - FilterSettings.IncludeSynonyms is SQL Server only and has no effect on Oracle - and gives two workarounds: generate against the owning schema, or create a view over the synonym. Links to issue #886, which tracks the work. Also dropped "a candidate for a future release" from the stored procedure result model note. That is a roadmap commitment the wiki should not be making.

    @sjh37 sjh37 committed Aug 30, 2026
    883efde
  • Update documentation for v4 Database pages: PostgreSQL, MySQL, Oracle and SQLite were entirely GAC and machine.config setup instructions, and MySQL and Oracle still said "under development". Replaced with dialect guides covering connection strings, permissions, what the reader supports, type mapping and quirks. Each opens by telling v3 users to undo the GAC and machine.config changes. Added a SQL Server page for symmetry. ConnectionString: expanded from the environment variable note to worked examples for all five databases (Azure and Entra ID, RDS, PlanetScale, TNS and wallets, sockets), a per-database permissions table, the SET FMTONLY execute requirement, and three ways to keep the string out of source control. Home: SQL Server CE was listed as fully supported, MySQL and Oracle as under development, Plugin as available, and Settings.FileManagerType appeared in all four recommended-settings blocks. The Quick Start never mentioned installing the efrpg tool, so anyone following it on v4 failed immediately. Fixed, and added an index of the rest of the wiki. Removed the settings that no longer exist from Common Settings Types Explained and Settings Reference: DatabaseType.SqlCe, DatabaseType.Plugin, Settings.DatabaseReaderPlugin and Settings.FileManagerType. Updated stale EF.Reverse.POCO.v3.ttinclude references in five pages. Fixed pre-existing broken cross-links: three pages linked to Custom-file-based-templates when the page name contains U+2010, Migrations linked to "scripty" rather than "script", and seven links had case mismatches. Renamed Syntax-Colour-*.TT-and-*.TTINCLUDE-files to Syntax-Colour-for-T4. The asterisks are illegal in an NTFS filename, so the wiki could not be cloned or pulled on Windows without disabling core.protectNTFS. Deleted Upgrading-from-v2-to-v3, superseded by Upgrading-from-v3-to-v4. Added _Sidebar for navigation.

    @sjh37 sjh37 committed Aug 30, 2026
    47c877c
  • Updated Upgrading from v3 to v4 (markdown)

    @sjh37 sjh37 committed Aug 27, 2026
    d7f522c
  • Created Upgrading from v3 to v4 (markdown)

    @sjh37 sjh37 committed Aug 25, 2026
    a6f3f9e
  • Created File-Scoped Namespaces (markdown)

    @sjh37 sjh37 committed Mar 31, 2026
    9f93c19
  • Updated Owned Entities (markdown)

    @sjh37 sjh37 committed Mar 27, 2026
    6990cbf
  • Updated Owned Entities (markdown)

    @sjh37 sjh37 committed Mar 27, 2026
    a6a1eab
  • Updated Full Control Over the Generated Code (markdown)

    @sjh37 sjh37 committed Mar 27, 2026
    db67fab