1

I have a nullable geography column in a table in a SQL Server database. In an Azure Function project (v4, .NET 6.08, NetTopologySuite included), when using Scaffold-DbContext to create an EF6 data context, the geometry column was mapped to Geometry? which seems right.

But when I run the project, and initialize the DBContext, I get the following error:

The property 'Geometry.UserData' could not be mapped because it is of type 'object', which is not a supported primitive type or a valid entity type.

BTW, I tried to change Geometry? to Point? but this made no difference.

What is going on? How can I map a Geography column to an EF6 property?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
GilShalit
  • 6,175
  • 9
  • 47
  • 68

1 Answers1

2

You must configure the SQL Server provider options by enabling support for spatial type mappings with "UseNetTopologySuite":

options.UseSqlServer(
    @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=WideWorldImporters",
        x => x.UseNetTopologySuite());
ErikEJ
  • 40,951
  • 5
  • 75
  • 115