Skip to content

Add UseNetTopologySuite extension method for AzureSqlDbContextOptionsBuilder #35244

@jscarle

Description

@jscarle

As part of #33816, UseAzureSql was introduced, however it seems like it's not possible to combine UseAzureSql with UseNetTopologySuite.

With UseSqlServer, we'd typically do:

                options.UseSqlServer(connectionString, sqlServerOptions =>
                {
                    sqlServerOptions.UseNetTopologySuite();
                });

There does not seem to be an equivalent. This does not work:

                options.UseAzureSql(connectionString, azureSqlOptions =>
                {
                    azureSqlOptions.UseNetTopologySuite();
                });

It appears that all we'd need is to add the following:

    public static AzureSqlDbContextOptionsBuilder UseNetTopologySuite(
        this AzureSqlDbContextOptionsBuilder optionsBuilder)
    {
        var coreOptionsBuilder = ((IRelationalDbContextOptionsBuilderInfrastructure)optionsBuilder).OptionsBuilder;

        var extension = coreOptionsBuilder.Options.FindExtension<SqlServerNetTopologySuiteOptionsExtension>()
                        ?? new SqlServerNetTopologySuiteOptionsExtension();

        ((IDbContextOptionsBuilderInfrastructure)coreOptionsBuilder).AddOrUpdateExtension(extension);

        return optionsBuilder;
    }

to SqlServerNetTopologySuiteDbContextOptionsBuilderExtensions

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions