NHibernate-使用ICriteria实现 "NOT IN"查询

标签 nhibernate icriteria

我已经开始接触NHibernate。我正在尝试执行一个查询,该查询从一个表中选择所有记录,但是具有ID的排除过滤器列表,例如。给我所有除具有这些ID值的产品以外的所有产品。

通常,在直接的T-SQL中,我会像这样将ID传递到NOT IN子句中。

SELECT *
FROM Products
WHERE ProductId NOT IN (1,5,9,23,45)

如何在NHibernate中使用ICriteria或HQL(但最好是ICriteria)来做到这一点?

最佳答案

尝试

.Add(Expression.Not(Expression.In("ProductID", new int[] { 1, 5, 9, 23, 45 })))

关于NHibernate-使用ICriteria实现 "NOT IN"查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168686/

相关文章:

c# - 在 NHibernate where 子句中选择 Guid 范围

c# - NHibernate 投影和 "Having"子句

nhibernate - nHibernate HQL 查询中的最大日期

oracle - 从数据库返回时,字符串会附加特殊字符

nhibernate - 如何更改 Linq-to-Nhibernate 为特定列生成的 SQL?

c# - 用于分页到 HQL/Criteria 的 NHibernate SQL 查询

c# - NHibernate - 使用 ICriteria 加入子查询

nhibernate - HQL "Contains"语句如何?

NHibernate - 在插入时生成,防止值更新

c# - Fluent NHibernate 中的 schemaExport 是什么?