I have a problem with Spatial service initialization...
When I try to initialize spatial service type like :
Code: Select all
var config = Devart.Data.PostgreSql.Entity.Configuration.PgSqlEntityProviderConfig.Instance;
config.SpatialOptions.SpatialServiceType = SpatialServiceType.NetTopologySuite;
If I initialize like
Code: Select all
var config = Devart.Data.PostgreSql.Entity.Configuration.PgSqlEntityProviderConfig.Instance;
config.SpatialOptions.SpatialServiceType = WellKnownBinary;
I worked with Oracle version, uninstall it (old version not compatible with Devart PostgreSQL 7.3) and install new version of Devart PostgreSQL.
Update NetTopologySuite to 1.13.3
Didn't understand the problem !
Thanks for reply.
I have removed and add Devart.Data / Devart.Data.Linq / Devart.Data.PostgresSQL / Devart.Data.PostgresSQL.Entity / Devart.Data.PostgresSQL.Entity.Spatials
I can call config.SpatialOptions.SpatialServiceType = SpatialServiceType.NetTopologySuite;
But now, when I migrate database, I have an error : the geometry type doesn't exists.
I do :
Code: Select all
// Initialise GeoAPI
GeoAPI.GeometryServiceProvider.Instance = new NetTopologySuite.NtsGeometryServices();
var config = Devart.Data.PostgreSql.Entity.Configuration.PgSqlEntityProviderConfig.Instance;
config.Workarounds.IgnoreSchemaName = true;
// Tronque les clefs étrangère à 30 caractères sinon impossible de créer le schéma de la base de données, les clefs
// étrangères générées sont tout simplement trop longues !
config.CodeFirstOptions.TruncateLongDefaultNames = true;
// Configur options to use
// NetTopologySuite need: GeoAPI
// NetTopologySuite
// PowerCollections
// SharpMap
// http://blog.devart.com/enhanced-entity-framework-spatials-support-for-oracle-mysql-and-postgresql.html
config.SpatialOptions.AlwaysUseGeometryDefaultSrid = true;
config.SpatialOptions.AlwaysUseGeographyDefaultSrid = true;
config.SpatialOptions.SpatialServiceType = Devart.Data.PostgreSql.Entity.Configuration.SpatialServiceType.NetTopologySuite;