我已经开始接触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/