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

发布于 2024-07-27 19:33:56 字数 312 浏览 5 评论 0原文

我已经开始掌握 NHibernate。 我正在尝试执行一个查询,该查询从表中选择所有记录,但带有 ID 的排除过滤器列表,例如。 为我提供除这些具有这些 ID 值的产品之外的所有产品。

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

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

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

I've started getting to grips with NHibernate. I'm trying to perform a query that selects all records from a table but with an exclusion filter list of IDs, eg. get me all Products except these ones with these ID values.

Normally in direct T-SQL I'd pass in the IDs to be excluded into a NOT IN clause like so.

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

How do I do this in NHibernate using either ICriteria or HQL (but preferably ICriteria)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅哥哥的热头脑 2024-08-03 19:33:57

尝试

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

Try

.Add(Expression.Not(Expression.In("ProductID", new int[] { 1, 5, 9, 23, 45 })))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文