在我將版本從 .NET Core 3.1 轉換為 6.0 后,我發現所有decimal(10, 5)
型別列都會自動對數字的小數部分進行四舍五入,并以四舍五入的格式將其保存在資料庫中。以前版本的 .NET Core 中的哪個作業正常。例如,我有一個類似的列asset = 85.456
,在新版本中,它以值的形式存盤在資料庫中85.46
。
軟體包的升級版本:EFCore 版本 2.13.4 => 6.13.18 EntityFrameworkCore.SqlServer 版本 2.2.6 => 6.0,我使用的是 Microsoft SQL Server。
我怎樣才能防止這種情況?
uj5u.com熱心網友回復:
你能確定你的模型構建器在背景關系類中是這樣的嗎:
modelBuilder.Entity<TableName>(entity =>
{
entity.Property(e => e.FieldName).HasColumnType("decimal(10, 5)");
});
如果不是這樣,則可能此欄位值型別不在decimal(10,5)
您的資料庫中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/474356.html
標籤:C# sql服务器 十进制 四舍五入 asp.net-core-6.0
下一篇:如何查找物件在串列中的位置?