【发布时间】:2011-02-07 18:47:23
【问题描述】:
我正在尝试为可空日期时间字段映射 NHibernate 公式,如果列值为空,则该字段将使用 GetDate()。
我使用的映射是:
Map(x => x.VirtualStartDate).Formula("ISNULL(StartDate, GETDATE ())");
在 Fluent NHibernate 中,它像这样转换为 hbm:
<property name="VirtualStartDate" formula="ISNULL(StartDate, GETDATE ())" type="System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
当我尝试查询数据库时,NHibernate 尝试将内置的 GetDate() 函数映射到表中的列:
ISNULL(workitem0_.StartDate, workitem0_.GETDATE()) as formula0_
这当然不起作用并返回 SQL 错误。 有什么方法可以指示 NHIbernate 这是一个内置的 SQL 函数,他应该保留它吗?
【问题讨论】:
标签: nhibernate formula