我有一个使用 nhibernate 和 fluent-nhibernate 的应用程序。我们使用的是 SQL Server 2008,我有一个带有浮点列的表,因为我们没有固定的精度,用户可以设置任意数量的小数位(1、10、25 位小数等)。我使用 fluent-nhibernate 像这样映射它:
Map(x => x.Factor).Column("FACTOR").Not.Nullable();
我也试过:
Map(x => x.Factor).Column("FACTOR").Precision(53).Not.Nullable();
还有这个:
Map(x => x.Factor).Column("FACTOR").CustomSqlType("float").Not.Nullable();
它不起作用。看我的数据库截图:
字段因子是我的浮点列,最后一个注册表有数字1,234567891
,当 nhibernate 对数据库进行查询时,它在 C# 中带有1,123456788
,C# 正在四舍五入该值。我们需要原始值。
我怎样才能让它工作?