Releases: sjh37/EntityFramework-Reverse-POCO-Code-First-Generator
Releases · sjh37/EntityFramework-Reverse-POCO-Code-First-Generator
v3.10.0
- Added EF Core 9 support
- #849 Added support for ARM64 processor. Thanks to Rob.
- Removed EF Core 7 (See support planning wiki)
- Added support property for resultsets. Thanks to Frederic.
- #821 Enable command timeout override. Thanks to Frederic.
With this adjustment, it is possible to override the default commandtimeout at runtime which can be necessary for specific stored procedures.
_context.Database.CommandTimeout = 300;
return _context.spMyHeavyStoredProcedure.FirstOrDefault();
- #820 Support resultset as property instead of a field in a stored procedure return model.
- #621 Generate async methods (PR #797). Thanks to Erwin Bovendeur.
- #819 Added "IsSynonym" property to Table class. Thanks to grantparker77.
- #826 Allow table with periods. Periods in table names are replaced with an underscore.
- #37 Merge duplicate stored procedure result sets. A new setting flag which defaults to
true
. This will cause the generator to inspect multiple result sets to see if they are all identical. If they are all identical, the duplicates will be removed, leaving a single model.
Settings.MergeMultipleStoredProcModelsIfAllSame = true;
- #832 Add more data annotations.
[Table("table-name", Schema = "schema-name")]
- #838 You can now generate multiple enums from a single table that contains a grouping field. Thanks to Ryan Plemons.
- Inflector to correctly handle words and tables ending with: Status, To and Data.
- Added more examples of adding base classes.
- #834 SQLite - Support multiple foreign keys. Thanks to statler.
- #298 Forward the
cancellationToken
parameter to theToListAsync
methods (PR #842). Thanks to mhartmair-cubido. - Enable more granular prepend schema support on a table and stored procedure level (PR #824). Thanks to dsfr-be and Frederic.
/// <summary>
/// Enables more granual control if the schema name should be prepend depending on the table
/// </summary>
public static Func<Table, bool> PrependSchemaNameForTable = (table) => {
return true;
};
/// <summary>
/// Enables more granual control if the schema name should be prepend depending on the proc
/// </summary>
public static Func<StoredProcedure, bool> PrependSchemaNameForStoredProcedure = (prod) => {
return true;
};
- #822 Intercept stored procedure return model creation. Thanks to Frederic Desmyter.
// Enable interception of stored procedure return model when an exception occurs. Typically, when the stored procedure contains temp tables.
// This allows you render the proper error in comments or fix the return model by manually creating the ReturnModel using a list of DataColumns
public static Action<Exception, StoredProcedure> ReadStoredProcReturnObjectException = delegate (Exception ex, StoredProcedure sp)
{
// Example
/*if (!sp.ReturnModels.Any() && ex.Message.StartsWith("Invalid object name", StringComparison.OrdinalIgnoreCase))
{
if (sp.NameHumanCase.Equals("YourProcNameHere", StringComparison.OrdinalIgnoreCase))
{
sp.ReturnModels.Add(new List<DataColumn>
{
new DataColumn("Id", typeof(int)) { AllowDBNull = false, Unique = true },
new DataColumn("Description", typeof(string))
});
}
}*/
};
// Enable interception of stored procedure return model
public static Action<StoredProcedure> ReadStoredProcReturnObjectCompleted = delegate (StoredProcedure sp)
{
// Example of how to add a row processed boolean column to a stored procedure's return model
/*if (sp.ReturnModels.Any() && sp.NameHumanCase.Contains("process"))
{
var rm = sp.ReturnModels.First();
rm.Add(new DataColumn("RowProcessed", typeof(bool)) { AllowDBNull = false });
}*/
};
v3.9.0
v3.8.4
v3.8.3
v3.8.2
- #736 Better PostgreSQL types support. Thanks to uyau.
- #568 Add support for SQLite. Thanks to Statler.
- #741 IncludeFieldNameConstants. Thanks to MarkLFT
- #693 Support for temporal tables. Thanks to FaizulHussain
- #802 Use
.HasTrigger()
for tables with computed columns for EF Core 7. Thanks to MarkLFT - Add installation support for Visual Studio running on a MacOS using Parallels.
v3.8.1
- #786 Settings.UseLazyLoading = false by default. Thanks to Neal Culiner.
- #782 Add support for memory-optimised tables.
- Added a file audit service. You will now see a new file generated each time you save the
<database>.tt
file. This audit file is used to record which files were generated and at what time. Please do not edit this file as it is used to delete files that may get filtered out during the next run. Audit files are named<database>Audit.txt
. - #774 Optional parameters in stored procedure. Thanks to @NeilN1
- #791 Add support for FileBasedEf6 templates. Thanks to @Techhead33
- #793 Do not use
builder.HasKey
on derived types where the PK columns are hidden. Thanks to Måns Tånneryd. - #780 Filter sequences to just those required. Thanks to @MarkLFT
v3.8.0
- Added support for EF Core 7. This update will now check for database triggers and identify these tables to EF Core 7. EF Core 7 will generate more efficient SQL that is faster to execute but is not compatible if a trigger is on the table. If EF 7 knows there is a trigger on the table, it will revert to using standard SQL (as generated by EF Core 6).
- Fix for non-PascalCased foreign keys ending in
_id
. Thanks to Bryan Tichy. - Include call to
.UseLazyLoadingProxies()
ifSettings.UseLazyLoading = true
. Please install theMicrosoft.EntityFrameworkCore.Proxies
NuGet package.
v3.7.0
- #765 Exclude
.HasColumnType
for user-defined types such as Postgres PostGIS. Thanks to @afust003 - #769 Using stored procedure OUT parameters with multiple result sets.
- Bug fix - Non-pascal casing could potentially leave a hanging symbol. Thanks to Bryan Tichy.
- Display name enhancements.
- Remove DefaultCollation setting.
- Append ";Encrypt=false;TrustServerCertificate=true" to the connection string.
- Corrected grammar in comments.
v3.6.1
- #754 Exclude mobelBuilder command if table valued function declared in
StoredProcedureReturnTypes
. Thanks to erwin-faceit. - #753 Fix for
ROWVERSION
andTIMESTAMP
columns. Thanks to Neal Culiner. - #762 Auto generate the standard templates that can be customised. If you want to fully customise your output you can use custom templates. The standard ones used within the generator are now generated and placed in this folder. More info available here. Thanks to rebeccapowell.
- #748 Generate a property type as a Enumeration from a foreign key. Thanks to James00-Fast.
v3.6.0
- Now supports EFCore 6
- #739 Add ability to automatically add enum tables programatically. See AddEnum() callback. Read the Wiki here.
- #389 Generate files in sub-folders. This has been a long awaited for feature!
- #727 Add categories to unit tests and separate tests by db type.
- #726 Add PostgreSQL for creating northwind database.