2009-02-13 26 views

回答

58

SQLServer的float和C#/ VB double具有相同的表示法。这是正确的映射。你不想做的是将SQL Server float映射到C#/ VB float,因为这可能会导致精度损失。 SQL Server real映射到C#/ VB float

T-SQL浮子和真实类型定义可以在MSDN找到。 C#双精度定义也可以在MSDN中找到,也可以在浮点型definition中找到。

+0

错了,虽然你可以在任何SQL服务器浮点映射到C#双,你不能映射任何C#双到SQL -server float ...但它通常适用于“正常”大/小数字 – 2012-03-09 13:41:25

+1

这并非严格对待 - 即使对于REAL/FLOAT(24)也是如此。 SQL Server没有标准IEEE754(C#/ VB.NET)规则支持的NaN或+/- Inf的概念。 – user2246674 2013-09-13 21:46:29

0

C#有一个浮点类型,但它会转换为double也很好。

0

从我的记忆,大多数的ORM工具将其映射到一个十进制类型,它不会失去精度像双或浮动。

0

它取决于SQL float的大小。对于等价于float(53)的普通“float”,您需要使用C#double。对于float(24)或更低的C#浮点就足够了,或者double也可以。

0

由Microsoft XSD生成的自动代码将SQL float(默认浮点数)转换为C#double。
所以你可以建议它不是大错。
直到你使用具有默认大小的浮动。