NHibernate - 使用ICriteria实现“NOT IN”查询

时间:2009-07-22 22:37:16

标签: nhibernate icriteria

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

通常在直接T-SQL中,我会将要排除的ID传递给NOT IN子句,如此。

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

如何使用ICriteria或HQL(但最好是ICriteria)在NHibernate中执行此操作?

1 个答案:

答案 0 :(得分:23)

尝试

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