是否有可能使Nhibernate查询生成columnName<>'value'而不是(columnName ='value')?)

时间:2012-01-11 09:40:26

标签: sql-server nhibernate nhibernate-criteria

是否可以使Nhibernate查询生成具有columnName<>' value'的Sql;而不是(columnName =' value')?

我被告知使用not()可能会在<>。

上出现Sql性能问题

通常我会写这样的查询...

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

导致

WHERE  not (this_.RegionID = 2048)

更新

这个问题表明,编码方式不再存在任何性能问题

In SQL Server is there any difference between not(columnName='value') and columnName<>'value'?

1 个答案:

答案 0 :(得分:1)

我认为该选项在条件api中不可用。但是您可以使用Expression.Sql(),如下所示

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