我正在使用Entity Framework Code First方法 - TPH将CSV读入SQL Server。读入文件并将其映射到特定分发服务器对象的特定属性。我可以成功地阅读经销商的特定文件:' IngramMicro'并将其存储在数据库中。但是,一旦该分发服务器位于数据库中,任何从任何分发服务器读取任何CSV的尝试都会抛出此异常: System.InvalidOperationException:' IngramMicro_RetailPrice'英格兰的IngramMicro'无法设置为“System.Double”'值。您必须将此属性设置为类型为' System.Decimal'的非空值。
IngramMicro拥有此属性: 公共小数IngramMicro_RetailPrice {get;组; }
SQL将其存储为浮动。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可能正在处理该属性上的NULL值。将类型从十进制更改为十进制?(可为十进制)。
SQL数据类型也应为小数。
答案 1 :(得分:0)
似乎在SQL Server中手动将数据类型更改为十进制(18,2)修复了问题。谢谢弗朗西斯科!