6 Mayıs 2013

Entity framework sayı yuvarlama hatası

geçenlerde entity framework 5 ile yazdığım bir uygulamada ef tarafından oluşturulan sqllerin doğru yuvarlama yapmadığını tespit ettim.

örneğin: 0.899 diye bir decimal değerimiz olsun ve bunu dbde 2 haneli keskinliğe sahip bir alana yazmak istersek sqlde de kodumuzda da 0.90'a yuvarladığınızı görürüz, bu da normal davranıştır. ancak ef oluşturduğu sqllerde normal kullanım yerine aşağı yuvarlama yapıyor ve dbye 0.89 olarak kaydediyor.

bu aslında bir bug, eğer ücretlerle ilgili keskinlik gerektiren işleriniz varsa başınızı ağrıtabilir. ben dbdeki keskinlik sayısını bana gerekenden 2 fazla yaparak (ör: (18, 6) yı (18,8) yaptım) bu sorunu çözdüm. kodda decimal doğru bir şekilde yuvarlayacağı için sorun olmuyor.


detaylı bilgi burada

Hiç yorum yok: