Недопустимая исключительная операция при попытке получить десятичное значение из SQL в double

У меня есть таблица SQL, в которой есть несколько больших десятичных значений. Слишком большой для использования decimals в моей модели. Однако, когда я использую double Я получаю Invalid Operation Exception в котором говорится, что он не смог преобразовать System.Decimal в System.Double,

Я использую EntityFramework Core в приложении.Net Core 2.2. Есть ли способ указать моему DbContext, что он должен захватывать эти поля как двойные числа вместо десятичных?

Я использую базу данных Microsoft SQL Server. Мой тип столбца десятичный (38, 2). Сохраненное там значение ~ 1.0005e+35. Я знаю, что это значение слишком велико, чтобы поместиться в C# Decimal поэтому мне нужно вписать его в System.Double вместо.

1 ответ

Решение

Я понял. Очевидно, EF Core обозначает различные типы SQL непосредственно для типов C#. Так что SQL decimal отображается на C# Decimal, SQL float отображается на C# System.Double, И SQL real отображается на C# System.Float,

Таким образом, решение моей проблемы состояло в том, чтобы изменить decimal(38,2) к float в моей таблице SQL

Другие вопросы по тегам