IGeometry 'MakeValid' Ошибка при использовании EF core 2.2 - PullRequest
0 голосов
/ 23 февраля 2019

Я использую ядро ​​EF 2.2 с проектом, в котором есть объект IGeometry (https://docs.microsoft.com/en-us/ef/core/modeling/spatial), и я выполняю запрос «Пересечения» для некоторых пространственных данных в моей базе данных.Однако иногда я получаю эту ошибку:

Ошибка .NET Framework произошла во время выполнения пользовательской подпрограммы или совокупной «геометрии»: System.ArgumentException: 24144: эту операцию невозможно выполнить, так как экземплярнедействительный.Используйте MakeValid для преобразования экземпляра в допустимый экземпляр.Обратите внимание, что MakeValid может вызвать незначительное смещение точек экземпляра геометрии

теперь, когда я работал на чистом SQL, не используя ядро ​​EF, я мог бы просто использовать MakeValid, чтобы это исправить, но я не вижучто-нибудь подобное в C #.Ближайший, я вижу, вариант 'IsValid' (https://nettopologysuite.github.io/html/class_net_topology_suite_1_1_operation_1_1_valid_1_1_is_valid_op.html)

Есть ли MakeValid для EF Core, который я не нахожу?

...