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

通过NHibernate在数据库中插入错误的值,nhibernate,Nhibernate,当我想插入像400.79这样的float值时,它会自动在NHibernate中插入400.790008544922。那么,为什么它插入了错误的值呢?我希望您的浮点通过一个double,无论是在代码中还是在NHibernate到底层数据表的映射中 如果我在LINQPad中尝试此功能: float f = 400.79F; double d = f; d.Dump(); 输出为:400790008544922 基于此,描述了从.Net类型到SqlServer数据类型的NHibernate映射。只有

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

我希望您的浮点通过一个double,无论是在代码中还是在NHibernate到底层数据表的映射中

如果我在LINQPad中尝试此功能:

float f = 400.79F;
double d = f;
d.Dump();
输出为:
400790008544922


基于此,描述了从.Net类型到SqlServer数据类型的NHibernate映射。只有REAL类型的数据列(FLOAT(24)的同义词)映射到FLOAT(Single),其他非整数数据类型映射到double或decimal。

NHibernate针对哪个数据库,表中列的数据类型是什么?