From 09971b35439760fe6a23eb9b7cdb12382de98f28 Mon Sep 17 00:00:00 2001 From: Steven Rasmussen Date: Fri, 14 Mar 2025 09:24:35 -0600 Subject: [PATCH 1/2] Added the 'AzureSqlDbContextOptionsBuilderExtensions' extension class to support Azure SQL Db's. --- ...ureSqlDbContextOptionsBuilderExtensions.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/Extensions/AzureSqlDbContextOptionsBuilderExtensions.cs diff --git a/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/Extensions/AzureSqlDbContextOptionsBuilderExtensions.cs b/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/Extensions/AzureSqlDbContextOptionsBuilderExtensions.cs new file mode 100644 index 0000000..699bb04 --- /dev/null +++ b/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/Extensions/AzureSqlDbContextOptionsBuilderExtensions.cs @@ -0,0 +1,24 @@ +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.SqlServer.Infrastructure; +using Microsoft.Extensions.DependencyInjection; + +namespace Microsoft.EntityFrameworkCore; + +public static class AzureSqlDbContextOptionsBuilderExtensions +{ + public static AzureSqlDbContextOptionsBuilder UseNodaTime( + this AzureSqlDbContextOptionsBuilder azureBuilder) + { + // Access the underlying OptionsBuilder + var coreOptionsBuilder = ((IRelationalDbContextOptionsBuilderInfrastructure)azureBuilder).OptionsBuilder; + + // Look for the NodaTime extension or create a new instance if not found + var extension = coreOptionsBuilder.Options.FindExtension() + ?? new NodaTimeOptionsExtension(); + + // Add or update the extension in the options + ((IDbContextOptionsBuilderInfrastructure)coreOptionsBuilder).AddOrUpdateExtension(extension); + + return azureBuilder; + } +} \ No newline at end of file From 3f713fe5869eab41c6b3a0c01ebd71172a4052a4 Mon Sep 17 00:00:00 2001 From: Steven Rasmussen Date: Fri, 14 Mar 2025 09:29:26 -0600 Subject: [PATCH 2/2] Fixes #44 --- README.md | 2 ++ ...implerSoftware.EntityFrameworkCore.SqlServer.NodaTime.csproj | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f9fd6fc..05e584a 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,8 @@ await this.Db.RaceResult // FROM [RaceResult] AS [r] // WHERE DATEDIFF_BIG(SECOND, [r].[StartTime], '2019-07-01T00:00:00.0000000Z') >= CAST(100000 AS bigint) ``` +* 9.1.0 (Mar 14, 2025) + * Added support for Azure SQL DB's and the `AzureSqlDbContextOptionsBuilder` * 9.0.0 (Nov 20, 2024) * Release for EF Core 9 * 9.0.0-rc.1.24451.1 (Sept 27, 2024) diff --git a/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime.csproj b/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime.csproj index 5618175..ef371ac 100644 --- a/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime.csproj +++ b/src/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime/SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime.csproj @@ -13,7 +13,7 @@ https://github.com/StevenRasmussen/EFCore.SqlServer.NodaTime git Entity Framework Core;entity-framework-core;EF;Data;O/RM;EntityFrameworkCore;EFCore;Noda;NodaTime;Noda Time - 9.0.0 + 9.1.0 README.md