Skip to content

Release notes

Erik Ejlskov Jensen edited this page Apr 25, 2024 · 907 revisions

Reverse engineering Quick Start | Reverse engineering guide | Latest daily build | Latest daily CLI build

vNext (Daily build)

New features

  • Support for Visual Studio ARM64 #2276
  • Launch reverse engineering directly from Server Explorer context menu
  • Launch Visualize Database directly from Server Explorer context menu #2272

Improvements

  • Improve database diagram labels and legend #2290
  • SQL Server stored procedure call signature made more resilient and better formatted +CLI, thanks https://github.com/spaasis #2259
  • Use #nullable disable annotation for stored procedure classes +CLI, thanks https://github.com/spaasis #2261
  • Remove template version warning for POCO templates #2254

Dependency updates

  • Updated tools to EF Core 6.0.29 +CLI
  • Updated tools to EF Core 7.0.18 +CLI
  • Updated tools to EF Core 8.0.4 +CLI

2.6.200 + CLI x.1.148 (March 28, 2024)

Improvements

  • BREAKING Roslyn based property renaming removed, it was a pit of failure - use T4 instead #2171
  • UiHint is no longer stored in efpt.config.json, but in .user file (hidden and excluded from source control) #2237
  • Use SqlQueryRaw() for stored procedure queries with EF Core 8 +CLI #2062
  • CLI: Soft delete on by default +CLI
  • Allow use of .NET 9.0 for reverse engineering #2216
  • Code and build health updates from @SimonCropp - thanks!

Dependency updates

  • Updated Npgsql provider to 8.0.2 for EF Core 8 +CLI
  • Updated Pomelo provider to 8.0.2 for EF Core 8
  • Updated tools to EF Core 6.0.28 +CLI
  • Updated tools to EF Core 7.0.17 +CLI
  • Updated tools to EF Core 8.0.3 +CLI
  • Updated DacFX to 162.2.111 +CLI

Bug fixes

  • .dacpac stored procedure mapping returnValue was wrong +CLI #2161
  • CLI: Avoid writing efcpt-config.json if not needed +CLI - thanks https://github.com/fredyadriano90
  • CLI: merge-dacpacs was always true +CLI #2214
  • .dacpac reverse engineering was broken with EF Core 6 and 7 #2246

2.6.140 + CLI x.1.100 (February 14, 2024)

New features

  • CLI: Add option to not refresh object lists - thanks @jwyza-pi +CLI #2100
  • CLI: Add ability to exclude columns via excludedColumns list in config file - thanks @jwyza-pi +CLI#2106
  • Add support for new Firebird DDEX provider #2146
  • Add new Firebird DDEX provider to EF Core Power Pack #2146
  • Add ja localization - thanks @AndrewKeepCoding #2034
  • Add ru localization - thanks @AlexRadch #2034
  • Add pl localization - thanks @ChaosEngine #2034

Improvements

  • Updated fr localization - thanks @agriffard and @jscarle #2034
  • Allow EF Core 7 to be used with .NET 8 projects #2132
  • Better formatting of EntityConfiguration files +CLI #2125
  • View DbContext DDL SQL now adds the .sql file to the project #2141

Dependency updates

  • Updated tools to EF Core 6.0.27 +CLI
  • Updated tools to EF Core 7.0.16 +CLI
  • Updated tools to EF Core 8.0.2 +CLI
  • Updated Microsoft.Data.SqlClient to 5.2 preview 5 +CLI
  • Updated Handlebars to 8.0.0 for EF Core 8
  • Updated Pomelo provider to 8.0.0 for EF Core 8 +CLI
  • Updated Oracle driver to latest for EF Core 6 and 7 +CLI

Bug fixes

  • Column names with spaces broke Mermaid diagram +CLI #2108
  • Column default string value in .dacpac was wrongly converted to lower case +CLI #2116
  • Stored procedure result set names and namespaces were broken with schema folders +CLI #2123

2.6.72 + CLI x.1.41 (January 19, 2024)

New features

  • Extension is now code signed

2.6.52 + CLI x.1.40 (January 11, 2024)

New features

  • Expose T4 template path option in UI - thanks @ClaudioBiagioli
  • CLI: Add option to generate Mermaid ER diagram +CLI #2052
  • Add de localization - thanks @rufer7 #2034
  • Add cs localization - thanks @RaptorCZ #2034

Improvements

  • Update it localization - thanks @ClaudioBiagioli #2034

Dependency updates

  • Updated tools to EF Core 6.0.26 +CLI
  • Updated tools to EF Core 7.0.15 +CLI
  • Updated tools to EF Core 8.0.1 +CLI
  • Updated DacFX to latest +CLI
  • Updated Microsoft.Data.SqlClient to 5.1.4 +CLI

Bug fixes

  • .dacpac model did not include triggers for EF Core 7+ +CLI

2.5.1718 (December 14, 2023)

New features

  • Visualize Database Schema now works with .dacpac #2042
  • Add support for Oracle for EF Core 8 +CLI
  • Add zh-Hant localization - thanks @doggy8088 #2034
  • Add pt-BR localization - thanks @RecursosOnline #2034

Improvements

  • Update es localization - thanks @rasputino #2034
  • Update zh-Hans localization - thanks @Varorbc #2034

2.5.1707 + CLI x.0.1707 (December 7, 2023)

New features

  • Add support for sysname in a .dacpac +CLI #2020
  • Add support for NodaTime with SQLite for EF Core 8 +CLI

Improvements

  • Warn better when .NET runtime is not present #2024

Bug fixes

  • DateOnly/TimeOnly was not properly mapped in SQL Server functions +CLI #2023

2.5.1694 + CLI 8.0.1694 (November 27, 2023)

New features

  • Support for Handlebars with EF Core 8 added
  • +CLI now has daily builds
  • Add support for CLR types in a .dacpac (geometry, geography, hierarchyid) +CLI

Dependency updates

  • Updated Postgres EF Core 8 provider +CLI
  • Updated MySQL EF Core 8 provider +CLI
  • Updated NodaTime EF Core 8 support +CLI

Bug fixes

  • Forcing DateTime and TimeSpan for date and time using EF Core 8 with .dacpac was broken +CLI #2002
  • Reverted #1987 (VS Code support) which did not work in many scenarios +CLI

2.5.1678 + CLI 8.0.0 (November 15, 2023)

New features

  • +CLI now drops a .vscode\tasks.json file to re-run, edit configuration and update the tool #1987

Improvements

  • Pluralization is enabled by default (just like in the built-in tooling) +CLI #1996
  • Decimal annotation added to stored procedure result set classes - brings back #1784 but now optional (default on) +CLI #1998

Dependency updates

  • Updated tools to EF Core 6.0.25 +CLI
  • Updated tools to EF Core 7.0.14 +CLI
  • Updated tools to EF Core 8.0.0 +CLI
  • Updated Firebird EF Core 7 provider +CLI

2.5.1648 + CLI x.0.0-rc.14 (October 29, 2023)

New features

  • Added new context menu item: Options to open Tools/Options dialog #1973
  • Added the ability to limit tables by schema in Visualize Database Schema tool #1977
  • Added merge-dacpacs to CLI +CLI #1985

Improvements

  • EF Core 8 should only be available for .NET 8 projects #1979
  • Filter template types based on chosen EF Core version #1978
  • Better ordering of options in Advanced dialog

Bug fixes

  • Enter key was not working on Model Options dialog, and Esc key was not working in many places #1976

2.5.1631 + CLI x.0.0-rc.13 (October 24, 2023)

Improvements

  • Full support for EF Core 8 RC 2 for supported providers, now including MySQL, NodaTime for SQL Server and SchemaCompare - requires .NET 8 runtime +CLI
  • UseNoNavigations feature was revived +CLI #1954 #1962
  • Use LoadFromAssembly in DbContext splitter +CLI #1950

Dependency updates

  • Updated tools to EF Core 6.0.23 +CLI
  • Updated tools to EF Core 7.0.12 +CLI
  • Updated tools to EF Core 8.0-rc.2 +CLI

Bug fixes

  • Database object entries were not properly cleared from CLI config file +CLI #1953
  • List of provider packages was not up to date +CLI
  • Generate database diagram & about menu items were never shown

2.5.1607 + CLI x.0.0-rc.11 (September 12, 2023)

Improvements

  • Full support for EF Core 8 RC 1
  • Allow .dacpac path in CLI without provider name +CLI #1972

Dependency updates

  • Updated tools to EF Core 6.0.22 +CLI
  • Updated tools to EF Core 7.0.11 +CLI
  • Updated tools to EF Core 8.0-rc.1 +CLI

Bug fixes

  • .dacpac files were not listed in Data Source dialog #1935

2.5.1595 + CLI x.0.0-rc.10 (August 25, 2023)

New features

  • Added support for reverse engineering using EF Core 8 preview 7 for supported providers - requires .NET 8 runtime +CLI #1902
  • Added support for model inspection using EF Core 8 preview 7 for supported providers - requires .NET 8 runtime #1904
  • Handle DateOnly / TimeOnly well for EF Core 8 +CLI #1900

Improvements

  • Only load extension when relevant
  • Improve telemetry
  • Port view rights fix for quirky database names +CLI
  • Improve performance of SQL Server/Azure SQL scaffolding +CLI
  • Default to EF Core 7
  • Add warning for low database compatibility level +CLI
  • Add .dacpac support for UDT and user data types as stored procedure parameters +CLI

Dependency updates

  • Updated tools to EF Core 7.0.10 #1677
  • Updated tools to EF Core 8.0-preview.7 #1677

Bug fixes

  • .dacpac temporal support broke some primary key scenarios +CLI #1920
  • Table renamers to preserve casing were silently ignored #1919
  • Relative T4 template path was not working +CLI #1876
  • Complex errors and warning were not displayed in CLI +CLI
  • DbContext default constructor was always removed in CLI +CLI #1924
  • DbContext.t4 code generation in custom folder was generating in the wrong folder +CLI

2.5.1544 + CLI x.0.0-rc.7 (July 14, 2023)

New features

  • Added an option for a global T4 templates path +CLI #1868
  • Added Firebird support for EF Core 7 +CLI

Improvements

  • Only show efpt.config.json context menu on applicable project types (.NET 6+ and .NET Standard 2.x)
  • Hide reverse engineer menu option on older project types
  • Improved .dacpac temporal for non-hidden columns +CLI
  • Use latest drivers in Tools and CLI (EF Core 7.0.9, 6.0.20) +CLI
  • Add explict reference to Microsoft.VisualStudio.SDK #1869

Bug fixes

  • Attempt to fix crash on older VS 2022 versions #1874
  • Added fix for wrong detection of quirky FK duplicates +CLI #1861

2.5.1514 (July 6, 2023)

New features

  • Added temporal support to .dacpac reverse engineering +CLI #1851
  • Added experimental support for entity schema namespaces +CLI - thanks @rasputino
  • Added spanish localization, thanks @rasputino

Improvements

  • Removed support for EF Core 3.1 BREAKING - download older, unsupported version from tools folder in repo if needed
  • Removed support for ARM64 BREAKING - use CLI instead
  • Removed SQL Server rights check, causing too much pain #1825 #1797
  • Better error reporting +CLI #1826
  • Better OOB experience (Release notes and getting started)
  • Better target framework detection for multi-target projects #1808
  • Use latest drivers in Tools and CLI (DacFX 162, EF Core 7.0.7, 6.0.18) +CLI
  • Reverted #1784 +CLI

Bug fixes

  • DbContext splitter was broken with self referencing table +CLI #1800
  • UiHint was wrong for .sqlproj with . in folder name #1850

2.5.1429 (May 3, 2023)

New features

  • Added new EF Core Power Tools CLI, which enables you to use most features of EF Core Power Tools reverse engineering from the command line

Improvements

  • DateOnly and TimeOnly respected by stored procedure mapping #1771
  • List of DDEX providers in connection dialog filtered to supported providers
  • Add Column attribute with scale and precision for decimal in sproc result sets #1784

Bug fixes

  • Random usage of NUnit and other test packages caused context menu to not load #1775

2.5.1378 (April 20, 2023)

New features

  • Implement Compare with .NET 7 #1746

Improvements

  • Collection setters for EF Core 7 added back (via tool now using EF Core 7.0.5)
  • Warn when additional types are in use but not mapped
  • Report error if stored procedure result contains only unnamed columns
  • Report error if stored procedure result contains unnamed columns
  • Made project menu items more context aware
  • Naming of SQL Server Server Explorer connections aligned better with actual implementation
  • Allow functions only schema #1748
  • Allow .NET 8 projects #1754
  • Update tools to EF Core 6.0.15 and 7.0.5
  • Update tools to Microsoft.Data.SqlClient 5.1.1

Bug fixes

  • Fix typo in PowerToolsReadme.md
  • Query to get properly formatted server/database name couldreturn DBNull.Value #1770

2.5.1338 (March 13, 2023)

New features

  • Visualize Database Schema (works with any provider) #1728

Improvements

  • Select M.D.S. provider in DDEX dialog by default if possible
  • Fixed some sizing issues with Settings dialog #1721
  • Removed auto mapping #1731

Bug fixes

  • Two MDS keywords that are breaking changes broke view access check and connection saving #1725
  • Some stored procdure result set name broke CreateIdentifier #1710

2.5.1316 (March 3, 2023)

New features

  • Update readme based on installed packages #1697
  • Set mapping options based on database types in use BREAKING #1707

Improvements

  • Better Data Connection dialog UX #1714
  • Better settings dialog UX
  • Made package installer smarter
  • Minimize vsix package size

2.5.1296 (February 24, 2023)

Bug fixes

  • Package install made VS process hang #1703
  • Azure SQL MFA auth was completely broken #1701

2.5.1293 (February 20, 2023)

New features

  • Install additional packages based on mapping options chosen (spatial, Noda Time, DateOnly/TimeOnly, hierarchyid) #1697

Improvements

  • Install explicit provider package version based on chosen EF Core version #1697

Bug fixes

  • Package installation failed if project path contained spaces #1697
  • Function scaffolding was broken #1699

2.5.1287 (February 19, 2023)

New features

  • Add support for Microsoft.Data.SqlClient DDEX provider added in VS 17.5 #1672
  • Add check for obsolete T4 template version in use #1601

Improvements

  • Remove useless Cancel button from messsage boxes #1147
  • Add setter to collections in T4

Dependency updates

  • Updated DacFX to latest
  • Updated tools to EF Core 7.0.3 #1677

2.5.1277 (January 24, 2023)

New features

  • Mapping of DateOnly and TimeOnly types added to reverse engineering #1642
  • Added new template option: C# - T4 (POCO) #1646
  • Support for using the extension with ARM64 Visual Studio #1659

Improvements

  • Make unzipping of tools .zip file more robust #1638

Dependency updates

  • Updated Microsoft.Data.SqlClient to 5.1.0
  • Updated tools to EF Core 7.0.2
  • Updated Oracle EF Core 6 & 7 providers
  • Updated Firebird EF Core 6 provider
  • Updated Pomelo EF Core 7 provider to RTM

Bug fixes

  • SQLite DDEX connection was broken #1655
  • VS 2022 17.0 support was broken #1656
  • Default constructor was not being removed for EF Core 3.1 and 6 #1658
  • Dacpac reverse engineering NuGet package for EF Core 7 was broken
  • Dacpac reverse engineering for EF Core 6 was broken #1667

2.5.1258 (January 2, 2023)

New features

  • Added Item Template: "EF Core Database First Wizard" #1620 #1630
  • Added the ability to exclude words from Pluralization #1624
  • Removed support for Visual Studio 2019 - update to VS 2022 BREAKING #1620
  • .NET Framework 4.8 is now required
  • Removed two POCO options - use T4 templates instead BREAKING

Improvements

  • Removed some database choices from Custom Connection dialog (use DDEX now)

2.5.1236 (December 20, 2022)

New features

  • Added support for Oracle with EF Core 7
  • When using T4 templates, the tool will now scan for all "CodeTemplates/EFCore" folders and run T4 scaffolding on each #1612

Dependency updates

  • Updated Postgres and Pomelo EF Core 7 providers
  • Update tools to EF Core 7.0.1

Improvements

  • Missing Simplified Chinese localization added

Bug fixes

  • Errors and warnings from scaffolding was not propagated #1602
  • Underscore '_' was unintentionally removed from function stub #1622

2.5.1219 (November 29, 2022)

Improvements

  • Added trigger detection to EF Core 7 dacpac based DatabaseModel #1590

Dependency updates

  • Added MySQL Pomelo provider for EF Core 7
  • Added Handlebars (preview) for EF Core 7

Bug fixes

  • Underscore '_' was unintentionally removed from DbContext name #1577
  • Check for 'view server' rights failed on uncommon database names #1588
  • EF Core provider not installed for .NET 7 projects #1597
  • Default DbContext constructor was not properly removed in EF Core 7 #1539

2.5.1206 (November 14, 2022)

Dependency updates

  • Updated NpgSQL EF Core 7, Sqlite.NodaTime 7 and DacFX 161 to RTM

Improvements

  • Show .dacpac files in solution

Bug fixes

  • Visual Studio 2019 was broken #1580

2.5.1201 (November 8, 2022)

New features

  • Enable NodaTime (SQL Server and Sqlite), HierarchyId and .dacpac support for EF Core 7
  • Enable renaming of collection and reference navigations PREVIEW #211

Improvements

  • Default output path to "Models" #1540
  • Unneeded files not generated when using mapped entity types with stored procedures #1534
  • Update advanced options label to clarify scope: "Remove default DbContext constructor (EF Core 3 & 6)" #1539
  • Escape \ in PowerToolsReadMe.txt connection string #1548

Dependency updates

  • Updated Microsoft.Data.SqlClient to 5.0.1 for EF Core 7
  • Update to EF Core 7 RTM #1541
  • Removed support for EF Core 5 BREAKING

Bug fixes

  • Compare was not showing all differences in collapsed mode #1564
  • Stored procedure parameter names were incorrect #1556
  • Prevent hang on Xamarin Andriod project context menu #1542
  • Prevent multiple custom connections with same name #1569
  • About screen was shown on wrong monitor #1549

2.5.1145 (October 10, 2022)

Bug fixes

  • Custom connection samples were missing #1522
  • Make EF Core 5 available in .NET 6 projects #1526

2.5.1142 (September 17, 2022)

New features

Improvements

  • Add support for "Active Directory Default" Azure SQL authentication #1489
  • List of possible EF Core versions limited based on project target framework #1474
  • Improve list of .dacpac files in Database project dropdown
  • Improve UX when there are scaffolding issues for individual objects

Dependency updates

  • Updated Microsoft.Data.SqlClient to 4.1.1 POTENTIALLY BREAKING
  • Updated EF Core 6 providers to latest: Npgsql
  • Updated EF Core 7 tools to RC 1
  • Updated EF Core 7 reveng tools to latest daily

Bug fixes

  • Made .sqlproj build more robust x 2 #1493
  • DbContext splitting was broken with EF Core 7 #1500
  • Functions/Procedures partial method call was broken #1521

2.5.1088 (August 16, 2022)

Improvements

  • Added links to docs from rev eng Options window
  • Improved docs for advanced global option #1471

Dependency updates

  • Updated EF Core 6 providers to latest: Firebird, Pomelo MySql, Npgsql
  • Updated EF Core 7 tools to preview 7

Bug fixes

  • Column names were not sanitized after column regex renaming #1478
  • .sqlproj build could easily break #1477
  • Visual Studio 17.4 preview broke everything #1482

2.5.1068 (July 27, 2022)

New features

  • Create a DbContext from a Database project (.sqlproj) via new project context menu item "Create EF Core DbContext..." #1456
  • Link to SQLite Toolbox shown if SQLite is used #1460

Improvements

  • Update Custom Connection dialog to suggest DDEX install
  • Improve UX for adding connections
  • Use VS 2022 images
  • Include type is DGML property labels

2.5.1057 (July 18, 2022)

New features

  • Reverse engineering now supports EF Core 7 preview 6, see #1345 - only Azure SQL DB/SQL Server, Postgres and SQLite are currently supported
  • Modelling now supports EF Core 7 preview 6, see #1345
  • Support for using the VS.Data.Sqlite DDEX provider (in preview)

Improvements

  • "Remove SQL default from bool columns" now works for Oracle #1443
  • Identifier names are sanitized after regex renaming #1440

Dependency updates

  • EF Core 6.0.7 used by reverse engineer tool

2.5.1041 (July 01, 2022)

New features

  • Mapping of entity classes to stored procedure results enabled #1395

Improvements

  • Reduce number of database roundtrips to two / zero (instead of one per sproc/function) #1436
  • Prevent invalid model from being generated with scalar functions with TVP parameters #1433
  • Prevent invalid model from being generated with duplicate result columns #1435

Dependency updates

  • EF Core 5.0.17, M.D.S. 3.1.0, Npgsql 6.0.5, Oracle 5.21.61 used by reverse engineer tool

Bug fixes

  • Added some missing sync calls to stored procedure multi-result set code
  • Found reverse engineer errors were not communicated back to Visual Studio #1433

2.5.1007 (June 12, 2022)

New features

  • Added ability to run "efpt.postrun.cmd" after reverse engineering #1385
  • Added general option to generate synchronous stored procedure calls #1417

Improvements

  • Stored procedure interface definition generated in a separate file #1393
  • Stored procedure interface definition used in GetProcedures() and Procedures property #1131

Dependency updates

  • EF Core 6.0.5 used by reverse engineer tool

Bug fixes

  • Added file write retries to prevent file sharing errors #1365
  • Compare feature was broken #1392
  • Fixed issues with Geometry mapping #1399 #1400

2.5.982 (May 12, 2022)

New features

  • Show readme file with configuration tips after scaffolding #1334

Improvements

  • Always scaffold SQL Server schema (reverted) #1376
  • Make EF6 the default when reverse engineering
  • Improve proposed DbContext name #1374

Dependency updates

  • EF Core 6.0.4 used by reverse engineer tool
  • EF Core 6 Oracle and Firebird providers updated to latest

Bug fixes

  • Unable to reverse engineer stored procedure using SET FMTONLY with TVP parameter with NVARCHAR(MAX) column #1361
  • Unable to reverse engineer stored procedure using SET FMTONLY with geography and geometry types in result set #1369
  • Unable to reverse engineer stored procedure using SET FMTONLY with binary parameters #1380 #1381
  • Missing using when Geometry was used as result set property #1368

2.5.966 (April 28, 2022)

Bug fixes

  • Table valued function scaffolding was broken #1356
  • Missing using when Geometry was used as parameter #1355

2.5.963 (April 25, 2022)

New features

  • Switched stored procedure result set discovery to use SET FMTLONLY approach - see enhanced docs for more information
  • Added global option to revert to previous stored procedure result set discovery method
  • Added efpt.config.json option to use sp_describe_first_result_set for individual stored procedures
  • Added rating hint/link to options dialog

Improvements

  • Support for schema compare for EF Core 6 added #1315
  • Stored procedure code now includes an interface definition #1299
  • Deleted files now moved to the recycle bin #1303

Dependency updates

  • EF Core 6.0.3 used by reverse engineer tool

Bug fixes

  • SQL Server geography and geometry in stored procedure and function result sets were not mapped correctly #1349
  • General options were not read properly #1309
  • Multi result set support was broken #1310 #1322
  • Fixed support for TVP parameters with multi result set #1243
  • module paramter names failed with reserved words #1336

2.5.918 (February 17, 2022)

Improvements

  • Stored procedure scaffolding now supports transactions and custom execution strategies, potentially breaking #1282
  • Measurement of EF Core version added #1291

Bug fixes

  • Pluralization for EF Core 3.1 was broken #1290
  • Fix bug with table splitting in EF Core 6, when you have a table that participates in multiple many to many relationships #1274

2.5.908 (February 10, 2022)

New features

  • Include Interface "contract" in stored procedure generated code
  • Added support for mapping SQL Server hierarchyid in entities and stored procedure parameter #1240

Improvements

  • Dacpac Nuget package now supports schema parameter #1262
  • Made .dacpac merge optional (breaking change) #1242

Dependency updates

  • Update Firebird, Oracle and Pomelo EF Core 5 and 6 providers
  • Update Handlebars to 6.0.3 - bug fix for missing HasKey()
  • Update DacFX to 160 RTM
  • Update EF Core to 6.0.2 (reverse engineer)

Bug fixes

  • Using geometry or geography as stored procedure parameters caused crash #1247
  • Fix some .sqlproj build failures (fix does not cover all scenarios) #1241
  • EF Core 6 SQL Server dacpac NuGet package was broken #1261

2.5.877 (December 30, 2021)

Dependency updates

  • Update to Handlebars 6.0.2, fixes bad XML comment handling #1217 #77 #1093

Bug fixes

  • Skip unnamed columns in stored procedure result classes #1233
  • Always include a stored procedure result set, even when discovery fails #1236
  • Do not emit "#nullable disable" into legacy project types #1228

2.5.866 (December 18, 2021)

New features

  • Ability to reverse engineer SQL Server stored procedures with multiple result sets, opt in for now #1196
  • Support for MySQL and Oracle custom connections
  • Ability to generate a proper entity for many-to-many tables with EF Core 6 #1184
  • Firebird EF Core 6 reverse engineering enabled
  • Oracle EF Core 6 reverse engineering enabled
  • Handlebars support for EF Core 6 added

Improvements

  • HandleBars templates are now available per folder with a efpt.config.json file #1070
  • Improve stored procedure SqlParameter generation for varTime and money/smallmoney types
  • Allow columns that are part of an index to be excluded #1220

Dependency updates

  • Update to EF Core 6.0.1
  • Update NPgSQL provider to 6.0.1

Bug fixes

  • Add missing #nullable disable to EF Core 6 generated code #1213
  • Getting DDL script was broken with EF Core 6 #1187
  • Added missing using to Functions code #1218

2.5.832 (November 16, 2021)

Bug fixes

  • Dacpac reverse engineer was broken with EF Core 6 #1183
  • Revert change to DbContextExtensions #1185

2.5.827 (November 15, 2021)

New features

  • Nodatime support for Sqlite added (EF Core 5 & 6)

Improvements

  • Remove "preview" from EF Core 6 reverse engineer option
  • Revert automatic Nullable option

Dependency updates

  • Pomelo EF Core 5 provider updated
  • Oracle EF Core 5 provider updated
  • Pomelo EF Core 6 provider updated to RTM
  • Postgres EF Core 6 provider updated to RTM

Bug fixes

  • Config file context menus were broken #1169 and #1182

2.5.815 (November 9, 2021)

New features

  • Made reverse engineer file cleanup optional (via Tools/Options) (default is on) #1148
  • Made persistence of connection name optional (default is on) #1162
  • Added possibility to supply own CodeTemplates.zip in root of project #1159
  • Added support for NodaTime with SQL Server for EF Core 6

Improvements

  • Enable using Input/Output parameters when mapping SQL Server stored procedures #1069 #1142
  • Ignore empty column names in table list code #1152
  • Detect if nullable is enabled in project, and use it #1164

Dependency updates

  • Update modeling tool for EF Core 6 to RTM
  • Update reveng tool for EF Core 6 to RTM
  • Update PostgreSQL provider for EF Core 6 to RC2
  • Update Pomelo MySQL provider for EF Core 6 to RC 1 provider
  • Update to Handlebars 5.0.4, fixes #1090, #1109
  • Update SqlClient to 2.1.4

Bug fixes

  • Fix missing support for nullable reference types with EF Core 6
  • Fix bad DbContext splitting with EF Core 6 RC1+ reverse engineering #1123
  • Fix bad migration tool build logic #1121 #1122
  • Ensure that check for 'VIEW DEFINITION' actually runs #1148

2.5.774 (September 23, 2021)

New features

  • Reverse engineer many to many tables without an explicit entity (EF Core 6 only) #501

Improvements

  • Enable reverse engineering of a .dacpac for EF Core 6

Bug fixes

  • Initialize errors caused crash in Telemetry call
  • Handlebars lib reverted to 5.0.1 due to regression
  • Removed support for nullable type with Handlebars, and reverted fix for localization issue, pending fix in Handlebars library

2.5.758 (September 16, 2021)

Improvements

  • Add support nullable reference types with Handlebars templates #1090

Dependency updates

  • Update Firebird and Oracle EF Core 5 providers to latest release
  • Update EF Core 6 modelling tool to RC 1

Bug fixes

  • Fix bad default namespace #1097
  • Fix bad project resolution on config file context menu #1098

2.5.750 (September 5, 2021)

New features

  • Allow scaffolding of stored procedures only (no tables) #1041, #1002, #713
  • Advanced option to remove the default DbContext constructor #1040
  • MySQL Pomelo provider added to EF Core 6 reverse engineering #1035
  • Save path to .sqlproj as a relative path #1052

Improvements

  • Remove usage of EnvDTE to solve crashes on some VS 2022 systems #1046
  • Escape C# keywords with "@" in generated code #1073
  • Improved UI for Advanced Options (with grouping)
  • System stored procedures excluded from being listed #1050
  • Some missing translations to Chinese added
  • NuGet package installation now done by "dotnet add package" to avoid VS 2022 dependency issues #1085
  • Make status bar message re errors clearer

Dependency updates

  • Update reverse engineering tool to EF Core 6 preview 7 (and .NET 6)
  • Update modelling tool to EF Core 6 preview 7 (and .NET 6)
  • MySQL Pomelo provider for EF Core 5 updated #1035

Bug fixes

  • Work around table names with single quotes #1047
  • Add better support for EF Core 6 reverse engineering #1036
  • List routine on bin collations #1037
  • Make file cleanup less aggressive #1062
  • Be tolerant to broken Server Explorer storage #1087

2.5.692 (June 23, 2021)

New features

Improvements

  • Launch using dotnet iso .exe #1015
  • Check if required efrevengxx.exe is present before deciding to skip unpacking #1003

Dependency updates

  • Update DacFX to latest
  • Update tools to EF Core 6.0 preview 5

Bug fixes

  • Avoid removing folders when cleaning files #

2.5.665 (May 30, 2021)

New features

Improvements

  • BREAKING Always return List<T> from DbContextExtensions #986
  • Avoid swallowing reverse engineer tool launch errors
  • Revert (for now): Shrink payload by downloading from NuGet on first run of reverse engineer tool

Dependency updates

  • Update reverse engineer tool to EF Core 6 preview 4
  • Update modelling tool to EF Core 6 preview 4
  • Update Microsoft.Data.SqlClient to 2.1.3

Bug fixes

  • Renaming with "UseSchemaName" was broken #988
  • Removal of bool default did not work with Postgres #994

2.5.649 (May 12, 2021)

New features

  • Renaming of SQL Server stored procedures and functions enabled #959

Improvements

  • Move to "Any CPU" and add Shared project in preparation for VS 2022
  • BREAKING Remove EDMX experimental feature #932
  • Shrink payload by downloading from NuGet on first run of reverse engineer tool

Bug fixes

  • Invalid nullable types generated for navigations #967

2.5.636 (May 2, 2021)

New features

  • Initial support for EF Core 6 reverse engineering (only for SQL Server/SQLite/PostgreSQL)
  • Nodatime mapping now available for SQL Server (EF Core 5 only) #897 - thanks https://github.com/StevenRasmussen

Improvements

  • Support ad-hoc connection with PostgreSQL #935
  • Improve check for presence of .NET Core runtime
  • Improve logging of runtime errors from command line tools #941
  • Remove SQLite info from About dialog
  • Make DbContextExtensions work with C# 7.3
  • Warn if functions/stored procedures are selected with "Entity Types only" #925
  • Add option to disable opening generated DbContext #947
  • BREAKING Remove broken navigation renaming experimental feature #952

Dependency updates

  • BREAKING Update Humanizer to 2.9.9 to get pluralizer bug fixes
  • Update model tool to EF Core 6 preview 3
  • Update MySQL and Firebird EF Core 5 providers to latest
  • Update VS SDK dependencies

Bug fixes

  • Empty root namespace was overwritten with default root namespace #930
  • Stop post processing Handlebars generated files #943

2.5.612 (April 6, 2021)

Bug fixes

  • Make UiHint and Edit/Refresh menu items work with Database projects
  • Ben.Demystify() reverse engineer errors displayed in Output window #903

Dependency updates

  • Updated Oracle EF Core 3 provider to latest

Bug fixes

  • NRE when enumerating credentials from CredentialManager, if there are none
  • Remove risk of name collision with split DbContext #905

2.5.606 (April 2, 2021)

New features

  • Enable saving, listing and deleting ad-hoc connections #887
  • Enable reverse engineering support for Firebird (via ad-hoc connection dialog) #884
  • Enable reverse engineering support for Azure SQL DB with MFA (Active Directory Interactive) using the new ad-hoc connection string option:

Server=myserver.database.windows.net; Authentication=Active Directory Interactive; Database=mydatabase; User Id=user@domain.com

  • Allow an ad-hoc SQLite connection to avoid the requirement of installing System.Data.SQLite DDEX provider

Improvements

  • Option to return stored procedure results as List instead of [] - thanks https://github.com/pedromcrocha
  • Enable mocking of stored procedure methods #880
  • Remove support for .NET Core 3.0

Dependency updates

  • Updated DacFX to latest

Bug fixes

  • Data Annotations was selected by default, and it should not be #898
  • EF Core 5.0 Dacpac NuGet package was broken #883

2.5.587 (March 27, 2021)

New features

  • Support for EF Core 6 preview 2 model inspection/migrations tool #862

Improvements

  • Avoid writing unused scaffolded files to disk #863
  • Enable opt-out of telemetry
  • Warn if reverse engineer options files are read-only
  • Allow multiple efpt.renaming.json files per project #874

Bug fixes

  • Fix unable to launch reverse engineering if launching from context menu after upgrade
  • Exclusion of FK columns disallowed #872
  • Generated files were included from other project with SDK based projects by mistake #875 #866
  • Stored procedures and functions with advanced return types were not supported, causing crash #869

2.5.573 (March 19, 2021)

New features

Improvements

  • Make error logging more robust
  • Improve ability to launch reverse engineer tool #859
  • Ok => OK

2.5.567 (March 15, 2021)

New features

Improvements

  • Make reverse engineering UI run faster #828
  • Stop suggesting to install EF Core provider if "EntityTypes only" is chosen #822
  • Minimize extension footprint
  • Include all files in ReversengineerResult #844

Dependency updates

  • Updated Microsoft.Data.SqlClient to 2.1.2 (with SQL Server reverse engineering)

Bug fixes

  • Stored procedures with advanced parameter types were not supported, causing crash #852
  • using System.Data; was removed by mistake from stored procedure mapping #827
  • Skip stored procedures and functions with empty names, to prevent crash #825
  • Prevent crashing when reverse engineering SQL stored procedures using hierarchyid and sysname #807 #829
  • Avoid installing provider package in .NET Framework project during reverse engineering #807
  • Install EfCore.SchemaCompare when running schema compare #808
  • Do not scaffold #nullable disable with .NET Framework projects

2.5.537 (February 22, 2021)

New features

Improvements

  • Stop getting config files from output folder

Dependency updates

  • Update EF Core 5 reverse engineering tool to EF Core 5.0.3

Bug fixes

  • Warn when doing model inspection with an EF Core preview installed #783
  • Fix ArgumentException in GetStartupProjectOutputPath method #782
  • Prevent crash for projects without ProjectItems (Installer projects for example) #780
  • Fix encoding issue with modeling tool #791
  • Make parsing of output from modeling tool more robust #791
  • SQL time column type was mapped to DateTime, should be Timespan #799

2.5.513 (February 14, 2021)

New features

  • Enable reverse engineering with Oracle for EF Core 5 #770
  • Compare a database with DbContext(s) - using EfCore.SchemaCompare #706
  • Pick and map SQL Server user defined scalar functions (preview) #543
  • Ability to remove a database connection in Data Source selection dialog #735
  • Remember last used database connection in Data Source selection dialog #749
  • Remember target EF Core version in Data Source selection dialog #735
  • Added link to release notes from Data Source selection dialog
  • [Comment] attribute generated (EF Core 5 only)
  • Three new advanced options added to Advanced dialog (see below):
  • Experimental support for nullable reference types, use "UseNullableReferences": true in efpt.config.json to enable #712
  • Experimental support for entity classes without constructor (so you can manage all constructors in a partial class), use "UseNoConstructor": true in efpt.config.json to enable #692
  • Experimental support for entity classes without navigations & constructor (for pure POCO classes for use with RepoDB, Dapper etc.), use "UseNoNavigations": true in efpt.config.json to enable #727
  • Experimental support for renaming of navigations, see this PR file for required manual changes to efpt.renaming.json #211, #737

Improvements

  • Extension method to get procedures from DbContext (GetProcedures()) #769
  • Read efpt.*.config.json files from sub-directories #765
  • Inherit command timeout when executing stored procedures #725
  • Improve reverse engineer connectivity to SQL Servers with untrusted certificates #721
  • Use Startup Project with modelling and migrations tool #707
  • Animate statusbar when getting database schema information #731
  • Clean up temporary files better

Dependency updates

  • Update EF Core 5 reverse engineering tool to EF Core 5.0.2
  • Update Npgsql EF Core 5 provider to 5.0.2

Bug fixes

  • Fix NRE with brand new projects (without any efpt.config.json file) #735 (caused by #709 below)
  • Handle broken data sources gracefully #722
  • Fix schema(s) list not read from config if present #709

2.5.454 (January 7, 2021)

New features

  • New advanced option to remove default constraint from non-null bit columns #160
  • Make IEntityConfiguration classes partial and add partial method #686

Improvements

  • Improved the .NET Core 3.1 runtime check for running the reverse engineering tool
  • Stored procedure method names now end with "Async" BREAKING #681
  • Improved performance of getting stored procedure list

Dependency updates

  • Removed support for Visual Studio 2017
  • Removed modeling and migration tool support for .NET Framework 4.x and .NET Core 2.x projects
  • Updated Microsoft.Data.SqlClient to 2.1.1 (with SQL Server reverse engineering)

Bug fixes

  • Fix broken support for modeling with EF Core 5 many to many classes #687
  • Fix broken .dacpac table/column renaming
  • Fix broken renaming for tables with no schema #679
  • Fix broken renaming for columns with same name and new name #676
  • Return Task<int> from stored procedures without result set #669
  • Stored procedure scaffolding did not work with SQL Server 2012

2.5.406 (December 16, 2020)

New features

  • New layout of the dialog to pick tables, views and stored procedures, thanks to GitHub user sm15455
  • Exclude columns via the UI, thanks to GitHub user sm15455
  • Rename columns and tables/views via the UI (with F2 key), thanks to GitHub user sm15455
  • Reverse engineer stored procedures from a .dacpac (SQL Server Database project) PREVIEW
  • Warn if unchecking a table or view #583

Improvements

  • Make EF Core 5 reverse engineering the default NOTICE!
  • IEntityConfiguration files are now placed in a Configurations folder/namespace below the DbContext BREAKING
  • Stored procedure calls now accept an optional CancellationToken parameter, thanks to GitHub user tiomny
  • Always return an empty stored procedure result class, even when result parameters cannot be determined, thanks to GitHub user tiomny

Dependency updates

  • Update EF Core 5 reverse engineering tool to EF Core 5.0.1
  • Added MySQL alpha-2 provider to EF Core 5 reverse engineer tool
  • Updated Postgres EF Core 5 provider to 5.0.1 version
  • Updated Handlebars EF Core 5 library to 5.0.1 version to fix #634 (BREAKING) - see workaround here
  • Updated MySQL EF Core 3.1 provider to fix #571
  • Updated Microsoft.Data.SqlClient to 2.1.0 (with SQL Server reverse engineering)

Bug fixes

  • Add password prompt back that was lost during a refactor #578
  • (n)varchar(MAX) stored procedure parameters were missing the Size parameter
  • Scaffold correct schema for table type parameters in stored procedures #618

2.5.277 (November 11, 2020)

New features

  • Update to EF Core 5 RTM
  • Added ability to have multiple efpt.config.json files in same project root, must follow "efpt.*.config.json" naming pattern
  • Stored procedures can now be picked from the Table list dialog and selection is persisted in efpt.config.json
  • Make DGML viewer a required component during setup
  • Support for mapping spatial types with MySql
  • Warn if SQL Server user has no 'VIEW DEFINITION' rights when reverse engineering
  • Warn if using reverse engineering against a SQL Server 2008 database
  • Display stored procedure scaffolding errors
  • Support stored procedure scaffolding of stored procedure return value
  • Support stored procedure scaffolding of stored procedures where no result set shape can be obtained
  • Support invalid column names in result set from stored procedures
  • Only scaffold size, scale and precision of stored procedure parameters when required
  • Enable pluralization together with UseDatabaseNames (EF Core 5 only)
  • Support for .NET 5.0 project with model inspection
  • Add support for Handlebars with EF Core 5

Bug fixes

  • Fix stored procedure scaffolding of long varchar columns
  • Fix missing support for null values with stored procedure calls
  • Fix proper support for output parameters and for stored procedures with no result, but with output parameters
  • Enable multiple DbContext folders with stored procedure mapping in same project
  • Only pluralize with EF Core 5 when configured to do so
  • Fix bad encoding of special characters on systems not using codepage 65001

2.4.217 (September 18, 2020)

Bug fixes

  • Linked .dacpac files search was brittle
  • Re-enable modelling with non-executable projects (broken in build 2.1.140)

2.4.212 (September 17, 2020)

New features

Bug fixes

  • Support same named stored procedure in different schemas
  • Fix exception when pressing Cancel in .dacpac file picker
  • Revert adding included columns in indexes with .dacpac reverse engineering

2.4.182 (September 5, 2020)

New features

  • Add the ability to filter the table list by schema names
  • Generate stored procedure mappings with no return value
  • Generate stored procedure mappings with 'table type' parameters
  • Support DbTranscaction with generated stored procedures
  • Enable stored procedure mapping with EF Core 5
  • Pick a .dacpac file from anywhere on the system

Bug fixes

  • Support multi line table and column comments
  • Fix NRE with Handlebars
  • Fix DGML parsing issue (Annotations)

2.4.157 (August 12, 2020)

New features

  • EF Core 5 Migrations tool works now

Bug fixes

  • Made result parsing more robust
  • Fix for double quotes in connection string
  • Reverse engineer runner changed to use .NET Core 3.1 x64 (was using .NET Core 3.1 x86)

2.4.140 (August 6, 2020)

New features

  • Reverse engineer SQL Server stored procedures (early preview)
  • Reverse engineering of an Oracle database (preview)
  • Reverse Engineering with EF Core 5 preview 7 (limited features and providers)
  • DGML diagram and other model features for EF Core 5 preview 6 (Migrations tool does NOT work)
  • Use data connection without saved password
  • Option (hidden - see wiki) to enable support for NodaTime types with Postgres
  • Option (hidden - see wiki) to enable support for spatial types with Postgres
  • Removed EF Core 2 reverse engineer (BREAKING) - you can download an older version that supports 2.2 from here
  • Updated Handlebars library and templates (BREAKING) - see workaround here

Bug fixes

  • Removed duplicate namespace in generated DbContext
  • Fix DGML generation bug with EF Core 3.x (Collections shown as References)
  • Prevent crash with view computed columns (in .dacpac)
  • Prevent crash with view referring to view (in .dacpac)
  • Comments came after data annotations, not before
  • Type of files to generate was not properly persisted
  • Modelling was sometimes broken - "Invalid characters in path" (warn: entries)

Improvements

  • Reduce vsix size by getting table/view information from EF Core provider, not ADO.NET provider

2.4.51 (May 26, 2020)

New features

  • Add table and column descriptions as XML summary comments
  • Reverse engineer views from a .dacpac (computed columns still pending)

2.4.34 (April 17, 2020)

New features

  • Add option to split DbContext file into IEntityConfiguration classes (preview)

Bug fixes

  • Fixed various issues with .dacpac database references

2.4.20 (April 13, 2020)

New features

  • Add support for SQL Server Database project (.dacpac) database references
  • Improve SQL Server Database Project and .dacpac discovery
  • Default to EF Core version 3.0 reverse engineering (NOTICE)
  • Obsolete auto-generated files now removed from model and DbContext folders (BREAKING)
  • OnConfiguring override completely removed, when no connection string is generated

Bug fixes

  • Fixed issue with mixed path separators in paths (\ and /) on .NET Core
  • Custom renaming was broken
  • Throw better error when EF Core 3.0 reverse engineer process fails to launch

2.4.0 (February 8, 2020)

New features

  • Update to 3.1 bits in Reverse Engineering, to take advantage of EF Core scaffolding bug fixes

Bug fixes

  • Fix form tab order
  • Fix migration scripting
  • Fix Modeling parsing issue (dbug: entries)
  • Improve stability on non-English Visual Studio

2.3.92 (November 28, 2019)

New features

  • Option (hidden - see wiki) to enable support for SQL Server spatial types

Bug fixes

  • SQL Server view names were not properly formatted ([dbo].[view])
  • Warn that previews are not supported with Modeling

2.3.86 (November 17, 2019)

Bug fixes

  • Table selections were not preserved with SQL Server / .dacpac
  • .dacpac table names were not properly formatted ([dbo].[table])

2.3.81 (November 11, 2019)

New features

  • Option to use EF Core 3.0 Reverse Engineering (including reverse engineering of views and keyless tables)
  • Enable modeling/migration support for EF Core 3.0
  • Namespace generation and file locations now completely customizable
  • Added Generation of Typescript Entities with Handlebars Templates (thanks @tonysneed )
  • Option (hidden - see wiki) to enable the EF6 Legacy pluralizer instead of Humanizer

Improvements

  • efpt.config.json now serialized with indentation ("breaking" change)
  • Added "autogenerated" comment to generated code ("breaking" change)

2.2.63 (June 16, 2019)

New features

  • Added support for reverse engineering of a MySQL database
  • Added support for modelling and migrations for EF Core 2.2.4
  • Proper implementation of Modeling and Migrations for .NET Core (dotnet exec launch)
  • Add Reverse Engineer support for SQL Server Geography column

Improvements

  • Remove design time dependency on Blend
  • Model options and Migrations dialog refactored to MVVM
  • Update to Npgsql ADO.NET client version 4.0.6
  • Use better pluralizer (potentially breaking change)

Bug fixes

  • Fixed issue where newly added Server Explorer connection was not displayed in the dropdown (Reverse Engineering)
  • Fix hang in link from About dialog
  • Fix VS 2019 compat issue

2.2.12 (Feb 11, 2019)

Bug fixes

  • rowversion columns were not generated correctly when reverse engineering from a SSDT project
Clone this wiki locally