Можно ли заставить запрос Nhibernate генерировать columnName <> 'value', а не нет? - PullRequest
0 голосов
/ 11 января 2012

Можно ли заставить запрос Nhibernate генерировать Sql, который имеет columnName <> 'value', а не нет (columnName = 'value')?

Мне сказали, что использование not () может привести к проблемам с производительностью SQL более <>.

Обычно я пишу свои запросы вот так ...

criteria.Add(Restrictions.WhereNot<Region>(r => r.Id == region.Id));

, что приводит к

WHERE  not (this_.RegionID = 2048)

UPDATE

Этот вопрос говорит о том, что больше нет проблем с производительностью при кодировании, так или иначе

Есть ли в SQL Server разница между not (columnName = 'value') и columnName <> 'value'?

1 Ответ

1 голос
/ 11 января 2012

Я думаю, что эта опция недоступна в критериях api. Но вы можете использовать Expression.Sql () следующим образом

criteria.Add(Expression.Sql("columnName <>'value'")); 
...