EF Core 2.1 (который в настоящее время все еще находится в режиме предварительного просмотра) будет полностью поддерживать пространственные данные - текущая ситуация, когда не хватает поддержки, носит временный характер, поэтому нет необходимости настраивать какие-либо специальные приемы.
Фактически, улучшенная пространственная поддержка будет одной из основных областей улучшения. Пространственная поддержка до 2.1 (через встроенные типы, такие как PostgisPoint) будет возвращена через плагин, но кроме того, типы PostGIS будут также поддерживаться через пространственную библиотеку NetTopologySuite .NET, даже обеспечивая поддержку для перевода основного пространственного операции в SQL. Таким образом, запрос LINQ, вызывающий NetTopologySuite x.Covers(y)
, будет переведен в PostGIS ST_Covers(x, y)
.
.
Что касается вашего конкретного обходного пути (что опять-таки не должно быть сделано), текущая проблема заключается в том, что слой ADO.NET (не EF Core) в Npgsql не обрабатывает тип данных PostGIS geometry
, так как поддержка исключена к внешнему плагину. Это означает, что на данный момент нет способа ни читать, ни писать geometry
, как байт [] или что-либо еще.
Если для вас важен пространственный режим, я бы порекомендовал продолжить работу с EF Core 2.0 и Npgsql 3.2.7 до тех пор, пока не выйдет 2.1.0-rc1, и в этот момент поддержка должна быть.