是否可以让 Nhibernate 查询生成 columnName<>'value'而不是 not(columnName='value')?)
是否可以使 Nhibernate 查询生成具有 columnName<>'value' 而不是 not(columnName='value') 的 Sql?
我被告知使用 not() 可能会导致 Sql 性能问题超过 <>。
通常我会像这样编写查询...
criteria.Add(Restrictions.WhereNot<Region>(r => r.Id == region.Id));
这会导致
WHERE not (this_.RegionID = 2048)
更新
此问题表明以一种或另一种方式编码不再存在任何性能问题
在 SQL Server 中,之间有什么区别not(columnName='value') 和columnName<>'value'?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为该选项在 criteria api 中不可用。但是您可以使用 Expression.Sql() 如下
I think that option is not available in criteria api.But you can use Expression.Sql() as follow