我已经开始学习NHibernate。我正在尝试执行一个查询,从一个表中选择所有记录,但是要排除ID的过滤列表,例如,获取所有产品,除了这些具有这些ID值的产品。
通常在直接T-SQL中,我会将要排除的ID传递到NOT IN子句中,如下所示。
SELECT *
FROM Products
WHERE ProductId NOT IN (1,5,9,23,45)
我该如何在NHibernate中使用ICriteria或HQL(最好是ICriteria)进行此操作?
我已经开始学习NHibernate。我正在尝试执行一个查询,从一个表中选择所有记录,但是要排除ID的过滤列表,例如,获取所有产品,除了这些具有这些ID值的产品。
通常在直接T-SQL中,我会将要排除的ID传递到NOT IN子句中,如下所示。
SELECT *
FROM Products
WHERE ProductId NOT IN (1,5,9,23,45)
试一试
.Add(Expression.Not(Expression.In("ProductID", new int[] { 1, 5, 9, 23, 45 })))