Decimal値をSQLServerに保存すると小数2桁までしか保存されない
- EntityFramework Version=6.0.0.0
- .Net Framework targetFramework="4.6.1"
- SQL Server Express 13.0.4001.0
SQL Server上のテーブルに、Decimal(12, 3)、Decimal(18, 3)で作成したカラムがあり、Linqを使ってそのカラムの更新を行っています。
decimal? d12 = 123.456m;
decimal? d18 = 222.222m;
Record rec = DbContext.Table.Where(a => a.id == 1).First();
rec.dec12_3col = d12;
rec.dec18_3col = d18;
DbContext.SaveChanges();
そして更新後にSQL Server Management Studioでデータを確認すると、dec12_3colには 123.450、 dec18_3colには 222.220 が入っており、小数3桁めが切り捨てられてしまっています。
SaveChangesを呼び出す前のところでデバッガでrecを見てもそれぞれ小数3桁まで値がセットされているのを確認できるので、どこを直したらいいものなのか分からず困っています。
よろしくお願いします。