Entity Framework: для свойства "IngramMicro_RetailPrice" в "IngramMicro" не может быть установлено значение "System.Double"
Я использую Entity Framework Code First подход - TPH для чтения CSV в SQL Server. Файлы считываются и сопоставляются с определенными свойствами определенных объектов распространителя. Я могу успешно прочитать в конкретном файле от дистрибьютора: "IngramMicro" и сохранить его в БД. Однако, как только этот дистрибьютор находится в базе данных, любая попытка чтения в любом CSV от любого дистрибьютора выдает это исключение: System.InvalidOperationException: для свойства "IngramMicro_RetailPrice" в "IngramMicro" не может быть установлено значение "System.Double". Вы должны установить для этого свойства ненулевое значение типа 'System.Decimal'
IngramMicro имеет это свойство: public decimal IngramMicro_RetailPrice { get; задавать; }
SQL хранит его как число с плавающей точкой.
Любая помощь будет оценена.
2 ответа
Возможно, вы имеете дело со значениями NULL в этом свойстве. Изменить тип с десятичного на десятичный? (Обнуляемый десятичный).
Тип данных SQL также должен быть десятичным.
Кажется, что ручное изменение типа данных на десятичный (18,2) в SQL Server решило проблему. Спасибо, Франциско!