Я разрабатываю приложение в .NET Core 3.1 с Visual Studio 2019, и все отлично работает на моем локальном компьютере с Windows 10 Pro. Но после развертывания в Azure возникает эта проблема:
The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 9 ("@p8"): The supplied value is not a valid instance of data type geography. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision
Эта ошибка возникает при добавлении сообщения в базу данных. Пост имеет свойство типа NetTopologySuite.Geometries.Point
и устанавливается следующим образом: location = new Point(longitude, latitude) { SRID = 4326 };
где долгота и широта удваиваются.
Когда я устанавливаю для местоположения значение null, ошибка не появляется. Я пытался использовать меньшую точность, например, 2 цифры перед точкой и 6 цифр после - это все еще вызывает ошибку.
Я использую Entity Framework Core. Он сгенерировал столбец БД как Location (geography, null)
.
Изменить: я преобразовываю строки широты и долготы в двойные: Convert.ToDouble(longitude.Replace(".", ","))
. Я удалил .Replace(".", ",")
, и теперь он работает в Azure, но та же ошибка появляется в локальной среде. У меня есть пространственное с идентификатором 4326 на обеих БД.