我有一個十進制數據庫列(6,1) 當用LINQ to SQL保存記錄時,它會截斷值而不是四捨五入。因此,例如,如果在生成的LINQ to SQL查詢中傳遞給此列的參數具有此值... - @ p1:輸入Decimal(Size = 0; Prec = 6; Scale = 1)[01213] 222.259] 數據將在數據庫中顯示爲222.2而不是222.3LINQ to SQL - 十進制數據類型被截斷,而不是舍入
然後,如果我將DB中的同一列更改爲十進制(7,2),並且我不重新生成LINQ to SQL類,使用LINQ保存記錄仍然會截斷... - @ p1:輸入小數(大小= 0; Prec = 6; Scale = 1)[222.259] 數據將在數據庫中顯示爲222.20而不是222.26 (或222.30)
有沒有人知道這是否是LINQ的正確行爲?或者是SqlServer提供者?它的行爲與在mgmt studio中手動編寫查詢的方式不一樣,這就是爲什麼我對它爲什麼截斷而不是四捨五入的原因感到困惑。
在MGMT的工作室下面的查詢... UPDATE TheTable SET TheDecimalColumn = 222.259 將設置VAL至222.3當列是十進制(6,1)和222.26當它是十進制(7,2)
謝謝
是的,我做了一堆測試生成的SQL,它只發生在它是通過LINQ 我認爲我完成浪費時間在這 - – JeremyWeir 2009-02-20 21:05:10
我的意思是「精度不重要」 – JeremyWeir 2009-02-20 21:05:52