1

我有一个表,有一个字段叫“水”,这个字段的数据类型sql server 2008是浮点数。

在我的代码中,我也使用float.

 public float? Water { get; set; }

这是我收到的错误消息。

{"Specified cast is not valid."}
{"Error parsing column 2 (Water=15.87 - Double)"}

如果我将类型更改为 double ,一切正常。

 public double? Water { get; set; }

我回到数据库,水场的所有值都在 0-100 之间。有几个空值。

请向我解释为什么我必须使用双精度而不是浮点数?

4

1 回答 1

5

这与Dapper. 如果您检查SqlDbType转换站点,您会注意到floatSQL Server 中的 adouble.NET

http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.aspx#Mtps_DropDownFilterText

于 2012-08-14T09:39:11.777 回答