Page 1 of 1

EF6 with spatial support

Posted: Mon 15 Aug 2022 13:54
by msuriani
Hello there!
I'm migrating a .Net Framework 4.7.1 application from MS SQL Server to PostgreSQL, and for that I'm using DotConnect.

Libraries added are (version 8.0.0.0):
- Devart.Data
- Devart.Data.PostgreSQL
- Devart.Data.PostgreSQL.EF6
- Devart.Data.PostgreSQL.Spatials.EF6

My DbContext have this configuration:

Code: Select all

[DbConfigurationType(typeof(Devart.Data.PostgreSql.Entity.PgSqlEntityProviderServicesConfiguration))]
    public class Context : DbContext
    {
        static Context()
        {
            var config = PgSqlEntityProviderConfig.Instance;
            config.SpatialOptions.SpatialServiceType = SpatialServiceType.NetTopologySuiteSigned;
            config.SpatialOptions.GeographyDistanceUnit = DistanceMeasurementUnit.Kilometer;
            config.SpatialOptions.GeographyAreaUnit = AreaMeasurementUnit.SquareKilometer;
            config.Workarounds.DisableQuoting = true;
        }
My properties are of type DbGeography.

I've setup everything and now I'm getting this error when querying:
Method not found: 'GeoAPI.Geometries.IGeometry NetTopologySuite.IO.WKTReader.Read(System.String)'.

Re: EF6 with spatial support

Posted: Tue 04 Oct 2022 14:34
by Shalex
NetTopologySuite 2.4.0 is supported in EF Core 3, EF Core 5, and EF Core 6 by dotConnect for PostgreSQL v7.23.2042 and higher.

With EF5 and EF6, NetTopologySuite 1.14 is supported only.