2011-02-07 55 views
0

我想映射一個NHibernate公式爲可空的日期時間字段,如果列值爲空,將使用GetDate()。使用NHIbernate公式中的內置SQL函數

我使用的映射是:

Map(x => x.VirtualStartDate).Formula("ISNULL(StartDate, GETDATE())"); 
在功能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函數,他應該保留它嗎?

回答

1

剛剛解決它自己,顯然它的工作原理,如果sql函數寫成小寫形式。