繁体   English   中英

实体框架:“ IngramMicro”上的“ IngramMicro_RetailPrice”属性无法设置为“ System.Double”值

[英]Entity Framework: The 'IngramMicro_RetailPrice' property on 'IngramMicro' could not be set to a 'System.Double' value

我正在使用Entity Framework Code First方法-TPH将CSV读入SQL Server。 文件被读入并映射到特定分发服务器对象的特定属性。 我可以成功地从分发服务器中读取特定文件:“ IngramMicro”,并将其存储在数据库中。 但是,一旦该分发服务器进入数据库,从任何分发服务器读取任何CSV的任何尝试都将引发此异常:System.InvalidOperationException:无法将“ IngramMicro”上的“ IngramMicro_RetailPrice”属性设置为“ System.Double”值。 您必须将此属性设置为“ System.Decimal”类型的非空值

IngramMicro具有此属性:公共十进制IngramMicro_RetailPrice {get; 组; }

SQL将其存储为浮点数。

任何帮助将不胜感激。

您可能正在处理该属性上的NULL值。 将类型从十进制更改为十进制? (可为空的十进制)。

SQL数据类型也应为十进制。

似乎在SQL Server中手动将数据类型更改为十进制(18,2)可以解决此问题。 谢谢弗朗西斯科!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM