如何从Fluent Nhibernate传递sysdate值

时间:2011-10-29 05:20:26

标签: c# nhibernate fluent-nhibernate

我有一个情况,我需要使用Nhibernate从.net代码传递日期作为db的sysdate这里是我的代码

 OfflineStatusChangeMonitor newstatusobj = new OfflineStatusChangeMonitor
                    {
                        NIK = demoFromDedup.NIK,
                        NIKStatus = new Status { Code = demoFromDedup.CurrentStatus.Code },
                        RegionId = Convert.ToInt16(demoFromDedup.RegionId),
                        LocalId = demoFromDedup.LocalId,
                        Updatedtime = DateTime.Now,
                        ServiceName = "XXXXX"

                    };
                    idmsRepository.Add<OfflineStatusChangeMonitor>(newstatusobj);

其中添加功能代码如下

 public void Add<ENTITY>(ENTITY entity) where ENTITY : EntityBase
    {
        this.UnitOfWork.CurrentSession.Save(entity);
    }

现在在这种情况下如何将updatedtime的值设置为Oracle的SYSDATE

我无法在数据库中执行此操作,因为我在许多位置都有db s并且正在从wcf服务更新数据

2 个答案:

答案 0 :(得分:2)

public DateTime getdbdate()
        {
            var dt = this.UnitOfWork.CurrentSession.CreateSQLQuery("select sysdate from dual where rownum<2").UniqueResult();

            if (dt != null)

                return (DateTime)dt;
            else           

            return DateTime.Now;

        }

然后调用此函数获取db日期,然后将其用作函数中的日期时间

答案 1 :(得分:0)

尝试使用触发器。然后,当您更新记录时,oracle数据库将使用SYSDATE更新该字段。