[英]Devart DotConnect got unexpected long decimal point for me while using entity framework 6 against Oracle
I have a record which contain a number in certain field: 25.99
.我有一条记录,其中包含某个字段中的数字:
25.99
。 Whenever I select this record using Devart DotConnect from my C# code it returns me 25.990000000000002
.每当我 select 使用我的 C# 代码中的 Devart DotConnect 记录此记录时,它都会返回我
25.990000000000002
。 Therefore, my update statement prompt me such exception: Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
因此,我的更新语句提示我这样的异常:
Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
My code snippet is stated as follow:我的代码片段说明如下:
var busRoutes = (
from route in ctx.RMBUSROUTEs
select route
).ToArray();
foreach (var busRoute in busRoutes)
{
busRoute.LASTUPDDATE = DateTime.Now;
}
ctx.SaveChanges();
There are ~ only 100 records inside this table.该表内只有约 100 条记录。 Most of the records contains decimal number in that field while only a specific certain record always retrieve
25.99
as 25.990000000000002
.大多数记录在该字段中包含十进制数字,而只有特定的特定记录始终将
25.99
检索为25.990000000000002
。 I am sure that the record value stored in DB is 25.99
.我确信存储在 DB 中的记录值是
25.99
。 How come?怎么来的? Thanks in advance.
提前致谢。
Try to change type of LASTUPDDATE from DateTime to string .尝试将LASTUPDDATE的类型从DateTime更改为string 。 I dont know why, but it worked for me.
我不知道为什么,但它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.