EDennis.MigrationsExtensions 3.9.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package EDennis.MigrationsExtensions --version 3.9.1                
NuGet\Install-Package EDennis.MigrationsExtensions -Version 3.9.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EDennis.MigrationsExtensions" Version="3.9.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EDennis.MigrationsExtensions --version 3.9.1                
#r "nuget: EDennis.MigrationsExtensions, 3.9.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EDennis.MigrationsExtensions as a Cake Addin
#addin nuget:?package=EDennis.MigrationsExtensions&version=3.9.1

// Install EDennis.MigrationsExtensions as a Cake Tool
#tool nuget:?package=EDennis.MigrationsExtensions&version=3.9.1                

EDennis.MigrationsExtensions

This package provides extensions to Microsoft.EntityFrameworkCore.Migrations.MigrationBuilder to support SQL Server Temporal tables and/or TestJson tables. NOTE: to use any of these extensions, you need to replace the SqlServerMigrationsSqlGenerator service with the MigrationsExtensionsSqlGenerator from this library. see Custom Migrations Operations.

When you add migrationBuilder.SaveMappings(); to the end of the Initial Migration's Up() method, the migrationBuilder saves table<->class mappings and column<->property mappings as SQL Server extended properties. These extended properties are useful when you need to determine class names and property names from the information schema. The EDennis.DataScaffolder Win Forms app will use these extended properties, when they are available.

When you add migrationBuilder.CreateMaintenanceProcedures(); to the beginning of the Initial Migration's Up() method, the migrationBuilder generates a "_" schema (if needed) and creates a number of helpful stored procedures and functions: (a) ResetIdentities, which ensures that the next value for each identity specification is the maximum of the Id associated with the identity spec; (b) ResetSequences, which is similar to ResetIdentities, but with sequences; (c) GetMappings, which returns all entity framework mappings generated by the SaveMappings operation; (d) MaxDateTime2, which returns the maximum datimetime2 value; (e) RightBefore, which gets the datetime2 value that is 100 nanoseconds before the provided datetime2 parameter; and (f) RightAfter, which gets the datetime2 value that is 100 nanoseconds after the provided datetime2 parameter. It is recommended to add migrationBuilder.DropMaintenanceProcedures(); to the end of the Initial Migration's Drop() method.

For any given entity that has SysStart (datetime2) and SysEnd (datetime2) properties, when you add modelBuilder.Entity<SomeClass>(e => { e.HasAnnotation("SystemVersioned", true); to OnModelCreating, a SQL Server Temporal Table and history table are automatically created. The history table has the same name as the temporal table but resides in a new schema suffixed by _history.

When you add migrationBuilder.CreateTestJsonTableSupport(); to the Initial Migration's Up() method, the migrationBuilder generates a "_maintenance" schema (if needed), creates a TestJson table, and creates a SaveTestJson stored procedure. It is recommended to add migrationBuilder.DropTestJsonTableSupport(); to the Initial Migration's Drop() method.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on EDennis.MigrationsExtensions:

Package Downloads
EDennis.AspNetCore.Base

Alpha version that still requires (a) updated code comments, (b) updated wiki documentation, and (c) completed sample solution

EDennis.NetStandard.Base

Pre-release of the Library. Documentation to come.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.9.2 676 8/21/2020
3.9.1 453 8/21/2020
3.9.0 451 6/23/2020
3.7.1 485 6/22/2020
3.7.0 510 5/4/2020
3.6.1 844 1/3/2020
3.6.0 660 12/31/2019
3.5.0 527 10/8/2019
3.1.7 553 9/17/2019
3.1.6 5,878 4/26/2019
3.1.5 581 4/26/2019
3.1.4 601 4/24/2019
3.1.3 609 4/24/2019
3.1.2 632 4/24/2019
3.1.1 650 4/24/2019
3.1.0 11,960 2/24/2019
3.0.0 605 2/24/2019
2.0.0 619 2/23/2019
1.9.1 673 2/20/2019
1.9.0 636 2/19/2019
1.8.0 1,993 12/15/2018
1.7.1 732 11/17/2018
1.7.0 740 11/17/2018
1.6.0 889 10/18/2018
1.5.2 839 8/23/2018
1.5.1 836 8/23/2018
1.5.0 831 8/15/2018
1.4.0 850 8/6/2018
1.3.3 859 7/23/2018
1.3.2 820 7/20/2018
1.3.1 804 7/20/2018
1.3.0 946 6/6/2018
1.2.0 944 6/4/2018
1.1.2 978 3/13/2018
1.1.1 1,018 3/13/2018
1.0.0 975 3/11/2018
0.1.2 934 3/11/2018
0.1.1 932 3/10/2018
0.1.0 949 3/10/2018
0.0.2-alpha 822 3/8/2018
0.0.1-alpha 724 3/8/2018

Replaces ON DELETE CASCADE and ON UPDATE CASCADE with NO ACTION when table is system-versioned.