Отображение NHibernate с функцией sql getdate () в атрибуте where - PullRequest
0 голосов
/ 08 февраля 2011

У меня есть сопоставление, которое извлекает все активные роли для пользователя. Я использую атрибут where для фильтрации ролей в отображении hbm. Отображение выглядит так:

<map name="Bar" table="Foo_Bar" lazy="true" cascade="all" inverse="false" where="intGroupId Is Null And dtmExpires > getdate()">
<cache usage="read-write"/>
<key column="intUserId"/>
<index column="varRole" type="string"/>
<one-to-many class="Foo.Bar, Foo"/>
</map>

Это прекрасно работает в производственной среде на SQL Server, но в моих модульных тестах, где я использую SQLite, функция getdate () не распознается.

Как я могу изменить свое сопоставление, чтобы оно работало как в MS SQL Server, так и в SQLite, но при этом иметь фильтр?

// Йохан

1 Ответ

1 голос
/ 10 февраля 2011

Я не знаю много о SQLite, но вы можете использовать

intGroupId Is Null And dtmExpires > CURRENT_TIMESTAMP

CURRENT_TIMESTAMP является эквивалентом getdate () стандарта SQL, и я считаю, что он реализован в SQLite (и яя уверен, что это в SQL Server).

Возможно, вы сможете использовать методику, обсуждаемую здесь , чтобы настроить ваши отображения во время выполнения, если это не сработает.

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