ORM として Fluent NHibernate を使用しており、NH Profiler を実行すると、この SQL クエリがスローされます。
INSERT INTO [Location]
(Name,
Lat,
Lon)
VALUES ('my address' /* @p0 */,
-58.37538459999996 /* @p1 */,
-34.5969468 /* @p2 */);
ちなみに、これは絶対に正しいです。これは私の Location テーブルのデザインです:
[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.37538459999996000000 の代わりに -58.37538000000000000000 および
-34.59694680000000000000 の代わりに -34.59694000000000000000。
この挿入クエリを手動で実行すると、値が正しく挿入されます (緯度列の 14 桁) が、nhibernate がこれを行うと、5 桁しか挿入されません。
何か案は???