使用NHibernate或LINQ从Oracle DB获取SYSDATE

时间:2019-05-22 14:37:13

标签: c# oracle linq nhibernate

背景

我正在执行一项任务,以强制执行一项服务以获取目标Oracle DB的日期/时间,然后将该日期用作传入数据的接收日期/时间戳。目的是确保所有存储的数据在接收日期方面都尽可能准确。据我了解,可以通过查询DUAL来获取此值,例如:SELECT SYSDATE FROM DUALSELECT SYSTIMESTAMP FROM DUAL。我正在使用的服务将自定义NHibernate用于其许多数据库调用。我知道我也可以利用LINQ查询来满足自己的需求。

不幸的是,我的许多努力都是徒劳的。

尝试的解决方案

我曾经尝试使用Google来查看是否有人有一个类似于上述语句的简单LINQ查询示例,但这一切都陷入了僵局。尽管付出了很多努力,但我仍然无法查询关于stackoverflow的问题。

我还研究了创建存储过程并设法创建了某种可以起作用的东西:

create or replace PROCEDURE    GET_SYSDATE
( SYSTEM_DT OUT SYS_REFCURSOR )
IS
BEGIN
    OPEN SYSTEM_DT FOR SELECT SYSDATE FROM DUAL;
END GET_SYSDATE;

但是,当我尝试从应用程序中调用它时,就像这样:

var returnedDt = _unitOfWork.ExecuteStoredProcedure("GET_SYSDATE");

我遇到了"identifier 'GET_SYSDATE' must be declared"错误。

问题

有人知道我可以在C#或NHibernate中使用的从DUAL获取SYSDATE / SYSTIMESTAMP的简单或更好的方法吗?

0 个答案:

没有答案