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

Sun*_*oot 8 nhibernate icriteria

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

通常在直接T-SQL中,我会将要排除的ID传递给NOT IN子句,就像这样.

SELECT *
FROM Products
WHERE ProductId NOT IN (1,5,9,23,45)
Run Code Online (Sandbox Code Playgroud)

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

Spe*_*ort 23

尝试

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