Как использовать свойство формулы в отображении NHibernate - PullRequest
3 голосов
/ 02 марта 2011

У меня есть вопрос относительно того, как использовать свойство формулы, которое будет использоваться в предложении SQL где.К счастью, я хотел бы использовать (datepart (hh, getdate ())) в качестве формулы, и я ожидаю, что результирующий SQL будет

Выбрать select_list из table_name где (datepart (hh, getdate ())) <17 </p>

Но я сохранил предложение where следующим образом:

где (this_0_.hh, getdate ())) <= 17 </p>

Я не уверен, почему псевдоним вставляется перед частью даты "hh".

Любая помощь по поводу того, как получить это положение, высоко ценится!

Спасибо.

1 Ответ

1 голос
/ 02 марта 2011

Псевдоним вставлен, потому что синтаксический анализатор не знает, hh является литералом (если бы MS использовала строку, у вас не было бы этой проблемы, поскольку вы могли бы использовать 'hh' без проблем )

Самый простой обходной путь - создание функции (назовите ее gethour), которая возвращает datepart(hh, getdate()).

...