Dapper.net,指定的转换无效。不能使用float类型

qin*_*126 1 sql-server-2008 dapper

我有一个表,有一个名为“水”的字段,该字段中的数据类型为sql server 2008float。

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

 public float? Water { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息。

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

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

 public double? Water { get; set; }
Run Code Online (Sandbox Code Playgroud)

我回到数据库,水域的所有值都在0-100之间。有一些空值。

请向我解释为什么我必须使用double而不是float?

Ale*_*lex 5

这与无关Dapper。如果您查看SqlDbType转换站点,您会注意到floatSQL Server中的a是doublein.NET

http://msdn.microsoft.com/zh-cn/library/system.data.sqldbtype.aspx#Mtps_DropDownFilterText