通过NHibernate在数据库中插入错误的值

时间:2013-02-02 10:10:24

标签: nhibernate

当我想插入像float这样的400.79值时,它会自动在NHibernate中插入400.790008544922。那么,为什么插入错误的值?

1 个答案:

答案 0 :(得分:2)

我希望你的float能够在你的代码中或在NHibernate映射到底层数据表的地方传递一个double。

如果我在LINQPad中尝试这个:

float f = 400.79F;
double d = f;
d.Dump();

输出为:400,790008544922

基于描述从.Net类型到SqlServer数据类型的NHibernate映射的this blog,只有REAL类型的数据列(FLOAT(24)的同义词)映射到float(Single),其他非整数数据类型映射到无论是双倍还是小数。