Convertion decimal sql type to .net float type
有小数点(18.2)的数据,在SQL中看到"鸭浮在.net类性质的大学。当选择"对象.net归来的这样的错误:
1 | The 'DiscountRate' property on 'Product' could not be set to a 'Decimal' value. You must set this property to a non-null value of type 'Single'. |
你有建议吗?
在.NET代码中,键入double或decimal作为decimal(18,2)。
有关从SQL到.NET类型的交叉引用,请参见此处。
现在,如果decimal列可以为空,请确保使用可以为空的decimal或
1 | public decimal? DiscountRate { get; set; } |
您应该将属性更改为
这里有一个关于这个问题的广泛讨论:十进制与double
您可以使用
链接:http://msdn.microsoft.com/en-us/library/system.decimal.aspx
您可以阅读
链接:http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx
我建议您要么将.NET类中的属性更改为十进制类型,要么在设置时显式转换为float。虽然使用十进制类型在没有任何上下文的情况下似乎更正确,但您使用的类型实际上取决于您的代码。