如果您在MSSQLSERVER中有浮动,则在.NET中映射什么?

您可以将其转换为两倍还是丢失数字?

有帮助吗?

解决方案

SQLServer float 和C#/VB double 具有相同的表示形式。这是正确的映射。您不想做的是映射SQL Server float 到C#/VB float 因为这可能涉及精确度的丧失。 SQL Server real 映射到C#/VB float.

可以在 MSDN. 。 C#双定义可以在 MSDN 以及漂浮 定义.

其他提示

查看:

在您的情况下,SQL Server本地类型 漂浮 地图到SQL Server CLR sqldouble 接着 双倍的 在.net

更新(2016年5月):

MSDN文档的更新版本: 映射CRL参数数据

C#具有浮点类型,但它也可以转换为双倍的良好。

从我的回忆中,大多数ORM工具都会将其映射到十进制类型,这不会像双重或浮点一样失去精度。

这取决于SQL Float的大小。对于等同于浮子的普通“浮点”(53),您需要使用C#double。对于浮点(24)或较低,c#float就足够了,否则双重的也将起作用。

Microsoft XSD生成的自动代码将SQL Float(默认float)转换为C#double。
因此,您可以建议这不是大错误。
直到您使用具有默认尺寸的浮子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top