dotConnect for Oracle allows you to explicitly specify the minimal Oracle spatial engine for Oracle Database server the application connects to. The engine to use is specified with the OracleSpatialEngine setting.
This setting affects SQL generation as the functionality of Oracle Spatial and Oracle Locator is different, and it depends on their version. Some functions should be implemented differently for different engines and different engine versions.
The specified engine also affects the list of unsupported features. If OracleSpatialEngine is set to other value than OracleSpatialEngine.Default, and some non-supported feature is used, NotSupportedException is thrown. It is thrown immediately when parsing a LINQ to Entities expression.
Here is an example, demonstrating specifying Oracle spatial engine:
Alternatively, you may specify the minimal Oracle spatial engine to use in the project config file. For this, you need to update or add the configSections element like it is described in the Entity Framework Provider Configuration section and then add the following Devart.Data.Oracle.Entity tag to the configuration tag:
<Devart.Data.Oracle.Entity xmlns="http://devart.com/schemas/Devart.Data.Oracle.Entity/1.0"> <SpatialOptions OracleSpatialEngine="OracleSpatial11g" /> </Devart.Data.Oracle.Entity>
Note: If you need to set multiple Entity Framework provider options for dotConnect for Oracle, don't add multiple Devart.Data.Oracle.Entity tags. Specify all settings in one Devart.Data.Oracle.Entity tag.
The following OracleSpatialEngine values are available:
Choosing Spatial Service | Default SRID | Tolerance | Area and Distance Units | Spatials Comparison | Spatial Type Name Representation