【发布时间】:2013-05-08 15:39:12
【问题描述】:
如何构造 ObjectQuery 的 Where 子句,我将在其中仅查询 DateTime 列的时间部分?我已经尝试了以下方法,但它不起作用。我在 Convert 上遇到无效异常。
ObjectQuery<Item> _Query = ItemEntities.CreateQuery<Item>("Item");
_Query = _Query.Where("Convert(VARCHAR,it.START_TIME,114) > '{0}'", startTime.TimeOfDay);
另外,我使用 Oracle 作为数据库。所以我尝试了to_char 而不是转换,但我仍然得到同样的错误。
谢谢。
【问题讨论】:
-
我的问题在于查询的构建。由于我使用 ObjectQuery 从数据库中检索数据,因此我需要如何获取其中的 TIME 部分。START_TIME (这是一个日期时间列)。我试过 _Query.Where("TO_CHAR(it.START_TIME, 'hh24:mi:ss')... 但我也遇到了异常。
-
添加一个你得到的例外。
-
"'to_char' 无法解析为有效的类型或函数
标签: c# oracle objectquery