Releases: sjh37/EntityFramework-Reverse-POCO-Code-First-Generator
Releases · sjh37/EntityFramework-Reverse-POCO-Code-First-Generator
v3.11.0
- #870 Added EF Core 10 support for
vectorandjsontypes. - #855 Fix missing foreign keys when using different schemas in PostgreSQL. Thanks to Mikael Flood.
- #864 UseMappingTables doesn't work for TemplateType.FileBasedEf6. Thanks to Simona Avornicesei.
- #858 Enum tables PostgreSQL. Thanks to Meysam Faghfouri.
- #562 Add DbContextOptions support for factory methods. Thanks to LarryWMSN
- #867 Add support for partial properties. Thanks to Statler.
- #871 NetTopologySuite is used for geography types when TemplateType.FileBasedEf6. Thanks to Simona Avornicesei.
- Deprecate EFCore 2-6.
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
cancellationTokenparameter to theToListAsyncmethods (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>.ttfile. 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.HasKeyon 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.ProxiesNuGet package.
v3.7.0
- #765 Exclude
.HasColumnTypefor 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
ROWVERSIONandTIMESTAMPcolumns. 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.