Хранить значение с плавающей запятой с исключением Entity Framework - PullRequest
1 голос
/ 28 апреля 2020

Я пытаюсь сохранить значения GPS, долготу и широту, используя. Net Core API и Entity Framework.

Это таблица, в которой есть несколько записей:

Tabla destinos

Это модель

public class Destinos
{
        [Key]
        public int idDestino { get; set; }
        public String nombreDestino { get; set; }
        public String direccionDestino { get; set; }
        public float longitudDestino { get; set; }
        public float latitudDestino { get; set; }
        public String referenciaDestino { get; set; }
}

При запуске этого кода:

[HttpGet]
public IEnumerable<Destinos> GettDestinos()
{
      return _context.tDestinos;
}

Я получаю это исключение

enter image description here

У вас, ребята, есть какие-либо подсказки или обходные пути для этого?

1 Ответ

2 голосов
/ 29 апреля 2020

In C# float - это 32-разрядное число с плавающей запятой одинарной точности и синоним System.Single. В SQL Сервер с плавающей запятой является синонимом float(53) 64-разрядного числа с плавающей запятой двойной точности.

C# float = SQL Сервер real aka float(24)

C# double = SQL Server float

Таким образом, правильное отображение для SQL Server nullable float Nullable<System.Double> aka double?

public class Destinos
{
        [Key]
        public int idDestino { get; set; }
        public String nombreDestino { get; set; }
        public String direccionDestino { get; set; }
        public double? longitudDestino { get; set; }
        public double? latitudDestino { get; set; }
        public String referenciaDestino { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...