Я использую NHibernate для запроса к моей базе данных, и одно из полей, с которыми мы работаем, раньше отображало Nullable Bool (bool?
)
Мы изменили его на обычный тип bool, подкрепленный полем бит SQL Server NOT NULL.
NHibernate все еще генерирует запросы, которые выглядят так:
SELECT count(*) as y0_
FROM mydb.dbo.[Customer] this_
inner join mydb.dbo.[Order] fi1_
on this_.OrderId = fi1_.Id
WHERE (this_.CustomerId = 9625 /* @p0 */
and (this_.Deleted = 0 /* @p1 */
or this_.Deleted is null))
Эта последняя строка - or this_.Deleted is null
- не нужна и фактически замедляет результирующий запрос, заставляя SQL Server выполнить дополнительную проверку NULL.
Как я могу заставить NHibernate просто сгенерировать this_.Deleted = 0
и пропустить проверку NULL?