Как вызвать хранимую процедуру с пространственным параметром в ядре EF - PullRequest
0 голосов
/ 06 июня 2019

Я использую EF Core 2.2.0 и пытался вызвать хранимую процедуру с параметром типа Geometry. Когда я вызываю хранимую процедуру, я получаю эту ошибку:

Указанный тип не зарегистрирован на целевом сервере. NetTopologySuite.Geometries.Polygon, NetTopologySuite, версия = 1.15.2.0, культура = нейтральная, PublicKeyToken = f580a05016ebada1.

Я называю хранимую процедуру так:

// Create IGeometry with NetTopologySuite.Features.Feature
IGeometry zone= feature.Geometry;

var zoneParameter = new SqlParameter
{
    ParameterName = "@zone",
    Value = zone,
    SqlDbType = SqlDbType.Udt,
    UdtTypeName = "Geometry"
};

return _context.Query<ReportDTO>()
    .FromSql("mySP {0}", zoneParameter)
    .ToList();

Моя хранимая процедура просто так:

ALTER PROCEDURE mySP  
    @zone GEOMETRY
AS
BEGIN
    -- do something
END

Версия SQL Server: Microsoft SQL Azure (окончательная первоначальная версия) - 12.0.2000.8

Это не поддерживается в EF Core или что я делаю не так?

...