IRI.Maptor.Infrastructure.EfCore 3.0.0

dotnet add package IRI.Maptor.Infrastructure.EfCore --version 3.0.0
                    
NuGet\Install-Package IRI.Maptor.Infrastructure.EfCore -Version 3.0.0
                    
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="IRI.Maptor.Infrastructure.EfCore" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IRI.Maptor.Infrastructure.EfCore" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="IRI.Maptor.Infrastructure.EfCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IRI.Maptor.Infrastructure.EfCore --version 3.0.0
                    
#r "nuget: IRI.Maptor.Infrastructure.EfCore, 3.0.0"
                    
#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.
#:package IRI.Maptor.Infrastructure.EfCore@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=IRI.Maptor.Infrastructure.EfCore&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=IRI.Maptor.Infrastructure.EfCore&version=3.0.0
                    
Install as a Cake Tool

IRI.Maptor.Infrastructure.EfCore

NuGet Target

EF Core persistence support for materializing SQL Server spatial columns directly into IRI.Maptor Geometry<Point> — a drop-in replacement for UseNetTopologySuite() that removes the NetTopologySuite and Microsoft.SqlServer.Types dependencies from applications. Geometry is read/written using the SQL Server native binary (MS-SSCLRT) format via IRI.Maptor.Core.Spatial's SqlServerSpatialNativeBinary serializer, so no NTS object graph or WKB round-trip is involved.

Installation

dotnet add package IRI.Maptor.Infrastructure.EfCore

Features

  • Provider plugin for the SQL Server EF Core provider: UseMaptorGeometry() replaces UseNetTopologySuite()
  • Reads/writes geometry and geography columns (points, lines, polygons, multi-* and geometry collections; 2D)
  • SqlServerMaptorGeometryTypeMapping — the RelationalTypeMapping for Geometry<Point>
  • SqlServerSpatialPassThroughTypeMapping — pass-through mapping for spatial columns in models compiled from migration snapshots/designers (SqlBytes provider-typed, or legacy NetTopologySuite Geometry), so dotnet ef migrations add/remove keep working after switching from UseNetTopologySuite()
  • SqlServerMaptorGeometryTypeMappingSourcePlugin / SqlServerMaptorGeometryOptionsExtension — provider wiring
  • MaptorGeometryValueComparer — reusable change-tracking comparer (SRID + WKB)
  • ConfigureMaptorGeometry() convention and per-property IsGeography() / IsGeometry() configuration

Usage

Enable the provider plugin where you configure the context (replaces x.UseNetTopologySuite()):

options.UseSqlServer(connectionString, x => x.UseMaptorGeometry());

Declare geometry properties on your entities using Geometry<Point>:

using IRI.Maptor.Core.Spatial.Primitives;
using IRI.Maptor.Core.Common.Primitives;

public Geometry<Point> SHAPE { get; set; }

Choose the column type — either set a default for all geometry properties in ConfigureConventions:

protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
    => configurationBuilder.ConfigureMaptorGeometry();          // maps Geometry<Point> -> geography

or per property in OnModelCreating:

entity.Property(e => e.SHAPE).IsGeography();   // or .IsGeometry()

If no column type is configured, Geometry<Point> defaults to geography.

Limitations

  • Z/M columns are rejected with a clear error — store 2D data.
  • Server-side spatial operators are expected via raw SQL (FromSql / FromSqlRaw, e.g. SHAPE.STIntersects(...)); LINQ spatial method translation is intentionally not provided.

NuGet package · Report issues · Back to IRI.Maptor.Infrastructure

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows 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 IRI.Maptor.Infrastructure.EfCore:

Package Downloads
IRI.Maptor.Infrastructure.EfCore.PostgreSql

EF Core PostgreSQL/PostGIS support for IRI.Maptor Geometry<Point>: maps geometry/geography columns via EWKB with an Npgsql type plugin and an EF Core provider plugin, replacing NetTopologySuite.

IRI.Maptor.Infrastructure.EfCore.SqlServer

EF Core SQL Server support for materializing geometry/geography columns directly into IRI.Maptor Geometry<Point>, replacing NetTopologySuite. Reusable across desktop (WPF) and service applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.0 192 8/23/2026
3.0.0-alpha 162 8/22/2026