是否可以使Nhibernate查询生成具有columnName<>'的Sqlvalue'而不是(columnName='value')?
有人告诉我,使用not()可能会对<>产生Sql性能问题。
通常我会这样写我的查询。。。
criteria.Add(Restrictions.WhereNot<Region>(r => r.Id == region.Id));
导致
WHERE not (this_.RegionID = 2048)
更新
这个问题表明,以某种方式编码不再存在任何性能问题
在SQL Server中,not(columnName=';value';)和columnName<gt';值';?
我认为这个选项在criteria api中不可用。但是您可以按照使用Expression.Sql()
criteria.Add(Expression.Sql("columnName <>'value'"));