這是我正面臨的一個問題,它導致從C#實體框架存儲到SQL Server數據庫時導致精度損失。從C#到SQL Server的精度損失
- SQL Server數據類型是
decimal(20, 15)
- 在C#屬性是在變量(AssignedGrossBudget)定義爲
public decimal AssignedGrossBudget { get; set; }
- 在C#值爲34.09090909090909
- 但在SQL Server表是34.090000000000000
什麼可能是錯誤的? (我正在使用實體框架db.SaveChanges();和SQLBulkCopy將數據從C#存儲到SQL Server)
我想存儲34.09090909090909而不是34.090000000000000。
我通過直接插入表中檢查,它的工作原理。
您能否提供批量複製的代碼? – Fredou
請使用Profiler捕捉EF生成的精確語句,併發布textdata。 – dean
可能您需要爲EF配置精度:http://stackoverflow.com/questions/3504660/decimal-precision-and-scale-in-ef-code-first – Uriil