-
-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathAzureSqlDbContextOptionsBuilderExtensions.cs
More file actions
24 lines (19 loc) · 978 Bytes
/
AzureSqlDbContextOptionsBuilderExtensions.cs
File metadata and controls
24 lines (19 loc) · 978 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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<NodaTimeOptionsExtension>()
?? new NodaTimeOptionsExtension();
// Add or update the extension in the options
((IDbContextOptionsBuilderInfrastructure)coreOptionsBuilder).AddOrUpdateExtension(extension);
return azureBuilder;
}
}