1

我在Sql server 2008MedicalLabResult上创建了一个表,其中有一个数据类型为.ResultFloat

但是当我使用 Entity Framework 映射我的数据库时,DBContext 模板会自动将Double数据类型分配给我Result在模型类上的字段。所以如果我尝试写一些东西: -

float result = MedicalLabResult.Single().Result;

然后visual studio会报错that it can not implicitly convert float to double,所以我不得不修改上面的:-

double result = MedicalLabResult.Single().Result;

但是由于Result数据库中字段的数据类型是Float,那么转换, 丢失任何数据会有风险吗?FloatDouble BR

4

1 回答 1

3

实体框架设计师做的一切都是正确的。Sql serverFloat数据类型实际上是 64 位双精度浮点数,它在 CLR 中的等价物是System.Double. 如果要存储单精度浮点数,则必须real在 sql 中使用。它被映射到 CLR System.Single

有关 SQL Server 和 CLR 数据类型的进一步参考,您可以转到此处

于 2012-05-06T17:35:47.353 回答