NHibernate QueryOver - выражение сравнения дат - PullRequest
1 голос
/ 09 марта 2011

Как использовать выражение NHibernate QueryOver, как я могу сравнить с локальной переменной?

Например:

[Таблица БД]

1 - 01/01/2011
2 - 02/20/2011
3 - 03/09/2011

Я хочу, чтобы запрос выглядел следующим образом:

SELECT * FROM Table WHERE '03/01/2011' >= DateColumn

Где '03/01/2011' - переменная, в которую я передаю.

Я пытался:

DateTime myDate = new DateTime(2011, 3, 1);
QueryOver.Of<Table>(() => tAlias).Where(() => myDate >= tAlias.DateColumn)

Однако, это выдает следующее исключение:

Не удалось найти свойство myDate

Есть идеи, как это сделать с помощью выражения QueryOver?

1 Ответ

4 голосов
/ 10 марта 2011

Я никогда не пробовал использовать Where с выражением без параметров, что если бы вы попробовали что-то подобное (что я использовал бы, если бы делал QueryOver [Table], не уверен, есть ли разница с .Of [Table)])?

.Where(r => r.DateColumn <= myDate)

Все примеры, которые я видел, также используют константу в правой части выражения, не уверен, что в этом что-то есть ( edit: глядя на Филакомментарий выше, кажется, что NHibernate действительно ожидает столбец слева и значение справа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...