【发布时间】:2013-01-27 04:58:16
【问题描述】:
我使用 Fluent NHibernate 作为我的 ORM,当我执行它时,NH Profiler 向我抛出了这个 sql 查询
INSERT INTO [Location]
(Name,
Lat,
Lon)
VALUES ('my address' /* @p0 */,
-58.37538459999996 /* @p1 */,
-34.5969468 /* @p2 */);
顺便说一句,这绝对是正确的。 这是我的位置表的设计:
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](255) NULL,
[Lat] [decimal](23, 20) NULL,
[Lon] [decimal](23, 20) NULL,
但是当我在sqlserver management studio中看到插入的数据时,我可以看到它插入了
-58.37538000000000000000 而不是 -58.37538459999996000000 和
-34.59694000000000000000 而不是 -34.59694680000000000000。
当我手动执行此插入查询时,它会正确插入值(Lat 列的 14 位小数),但如果 nhibernate 这样做,它只会插入 5 位小数。
有什么想法吗???
【问题讨论】:
标签: nhibernate fluent-nhibernate decimal nhprof