Entity Framework 使用 NetTopologySuite 保存几何时出现核心 IndexOutOfRangeException

Entity Framework Core IndexOutOfRangeException when saving geometry using NetTopologySuite

当我使用从 shapefile 加载的一些几何图形调用 SaveChanges 时,我得到一个 DbUpdateException。我得到的错误是:

IndexOutOfRangeException: Index was outside the bounds of the array.

下面是一些保存两个 WKT 多边形的示例代码:第一个没问题,但第二个生成错误:

https://gist.github.com/capesean/57527a0576d5972ff1514438440397fa

(WKT代码太长,贴在这里)

WKT 似乎有效:http://dev.openlayers.org/examples/vector-formats.html

我可以直接将它加载到 SQL 服务器:

INSERT INTO regions 
VALUES (NEWID(), 'POLYGON ((30.613919943000042 -30.391359940999962, ......))')

这是对 SqlClient 的 TdsParser 的限制。 在这里解决问题:https://github.com/aspnet/EntityFrameworkCore/issues/18813