BlueTusk.Extensions.PostGIS.EntityFrameworkCore
1.0.0
See the version list below for details.
dotnet add package BlueTusk.Extensions.PostGIS.EntityFrameworkCore --version 1.0.0
NuGet\Install-Package BlueTusk.Extensions.PostGIS.EntityFrameworkCore -Version 1.0.0
<PackageReference Include="BlueTusk.Extensions.PostGIS.EntityFrameworkCore" Version="1.0.0" />
<PackageVersion Include="BlueTusk.Extensions.PostGIS.EntityFrameworkCore" Version="1.0.0" />
<PackageReference Include="BlueTusk.Extensions.PostGIS.EntityFrameworkCore" />
paket add BlueTusk.Extensions.PostGIS.EntityFrameworkCore --version 1.0.0
#r "nuget: BlueTusk.Extensions.PostGIS.EntityFrameworkCore, 1.0.0"
#:package BlueTusk.Extensions.PostGIS.EntityFrameworkCore@1.0.0
#addin nuget:?package=BlueTusk.Extensions.PostGIS.EntityFrameworkCore&version=1.0.0
#tool nuget:?package=BlueTusk.Extensions.PostGIS.EntityFrameworkCore&version=1.0.0
BlueTusk.Extensions.PostGIS.EntityFrameworkCore
Stable NetTopologySuite integration for BlueTusk's separately packaged PostGIS transport. Register the EWKB codecs on the long-lived data source and the spatial mappings on the EF provider:
using BlueTusk.Data;
using BlueTusk.Extensions.PostGIS;
using Microsoft.EntityFrameworkCore;
using NetTopologySuite.Geometries;
await using var dataSource = new BlueTuskDataSourceBuilder(connectionString)
.UsePostGis()
.Build();
var options = new DbContextOptionsBuilder<AppDbContext>()
.UseBlueTusk(dataSource, provider => provider.UsePostGis())
.Options;
Geometry, Point, LineString, Polygon, MultiPoint,
MultiLineString, MultiPolygon, and GeometryCollection scalar and array
properties map to PostGIS geometry by default. Exact typmods and geography
intent are retained through ordinary EF configuration:
entity.Property(value => value.Location)
.HasColumnType("geometry(Point,4326)");
entity.Property(value => value.ServiceArea)
.HasColumnType("geography(Point,4326)");
NetTopologySuite predicates, measurements, set operations, buffers, and common
members translate to schema-qualified PostGIS functions. The package also adds
EF.Functions.IsWithinDistance, BoundingBoxIntersects, Transform,
MakeValid, Force2D, and AsGeoJson. Geography translation is deliberately
limited to operations PostGIS defines for geography: distance, within-distance,
intersection, covers/covered-by, area, length, and centroid. A geometry-only
operation on geography fails translation with a focused diagnostic.
The public conversion helpers preserve SRID and XY/Z/M ordinates while bridging between NetTopologySuite objects and BlueTusk's immutable EWKB transport values. EF change tracking snapshots mutable geometry instances and geometry arrays.
Use EnsurePostGis() and DropPostGis() in migrations when the
application owns the extension lifecycle. The live PostgreSQL 18/PostGIS 3.6
gate covers geometry, geography, typmods, arrays, parameters, spatial filters,
projections, and compiled queries. These APIs use the stable 1.0.0
Provider-family contract.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- BlueTusk.EntityFrameworkCore (>= 1.0.0)
- BlueTusk.Extensions.PostGIS (>= 1.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.11)
- NetTopologySuite (>= 2.6.0)
- NetTopologySuite.IO.PostGIS (>= 2.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0-rc.1 | 88 | 8/29/2026 |
| 1.0.0 | 115 | 8/23/2026 |