为什么我的Linq Oracle DB查询无法正确比较时间戳和日期时间?

斯科特·奥利弗(Scott Oliver)

我正在使用Linq查询代表Oracle数据库的EF6上下文。我试图基于TIMESTAMP字段从表中选择行,该字段将日期时间最多存储几分之一秒。这是您可以编写的最垃圾标准的查询,但是它不起作用。

data = await dbContext.MyTable.Where(x => x.Timestamp > LastTimestamp).ToArrayAsync();

该查询似乎返回表中的所有数据,而不管时间戳的值如何。当我单步执行代码并检查返回的每个实体的属性时,它们具有正确的数据,但它们不应该属于结果集。

该实体将Timestamp属性指定为DateTime对象,这是否是Oracle数据类型TIMESTAMP的正确表示形式?

我认为问题是高分辨率时间戳最终总是比我传递的日期时间稍早,而Linq已将其截断。有办法解决吗?

一些相关的问题:

无法在oracle中正确比较2个日期

EF6 Oracle时间戳和日期

如何获得带有Oracle的Entity Framework,以在查询中向数据库发送小数秒?

塞利姆·耶尔迪兹(Selim Yildiz)

正如我在评论部分所指出的那样,我遇到了相同的问题:

实体框架Oracle时间戳

我写信给Oracle团队,他们承认这是一个错误。您可以在以下位置检查我的问题:https : //community.oracle.com/thread/4288922,您需要等待其新版本Oracle.ManagedDataAccess.EntityFramework得到修复。

但是,作为一种替代方法,您可以使用SQLRawQuery,它对我们有用

dbContext.Database.SqlQuery("SELECT * FROM Mytable WHERE Timestamp > :LastTimestamp", new OracleParameter("LastTimestamp", OracleDbType.TimeStamp, LastTimestamp, System.Data.ParameterDirection.Input)).ToList(); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

oracle db的日期和时间

来自分类Dev

在Oracle中比较时间戳

来自分类Dev

为什么我的linq to sql查询失败?

来自分类Dev

Oracle递归查询(比较分组数据中的时间戳)

来自分类Dev

带时间戳和ISO日期的Oracle SQL查询语句和条件

来自分类Dev

oracle:查询带有可变日期的时间戳

来自分类Dev

为什么我的LINQ查询无法识别通用列表的成员?

来自分类Dev

为什么我的oracle日期字段不在查询范围内?

来自分类Dev

在Oracle中查询日期时间

来自分类Dev

Oracle日期/时间操作查询

来自分类Dev

在Oracle中查询日期时间

来自分类Dev

在Oracle中使用FROM子查询时,为什么无法识别我的表列?

来自分类Dev

从Oracle DB时间戳到Java时间戳:混乱

来自分类Dev

如何在Oracle中比较日期和时间

来自分类Dev

转换日期的 Oracle 时间戳问题

来自分类Dev

查询时间戳存储为数字oracle

来自分类Dev

为什么我的LINQ查询总是返回0?

来自分类Dev

在Oracle 10g SQL Plus中将日期和时间插入时间戳

来自分类Dev

Oracle查询-选择日期和时间-重叠

来自分类Dev

Oracle查询-计算日期和时间差-重叠

来自分类Dev

Oracle SQL查询中的开始/结束日期和时间

来自分类Dev

Oracle时间戳和current_date

来自分类Dev

为什么react-native-gifted-chat无法从Firebase时间戳正确显示时间?

来自分类Dev

为什么我的Oracle层次查询仅在一个级别后停止

来自分类Dev

在Oracle中使用时间戳比较两个日期

来自分类Dev

将Oracle时间戳(6)转换为日期时间

来自分类Dev

为什么我对Oracle的JPA中的悲观锁定无法正常工作

来自分类Dev

为什么我无法将变量传递到ORACLE SQL语句中?

来自分类Dev

为什么Oracle运行此(错误)查询

Related 相关文章

热门标签

归档