You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ISession.QueryOver查询中添加or条件语句?

ISession.QueryOver添加OR条件的实现方法

你可以通过两种方式实现OR条件拼接:

  • 方式1:使用Restrictions.Or包裹两个条件,替换原有的两个独立.Where()调用:
// 变量定义
int val1 = 0;
int val2 = 0;

// 正确的OR查询写法
var query = session.QueryOver<你的实体类>(() => obj1)
    .Where(Restrictions.Or(
        Restrictions.Eq(Projections.Property(() => obj1.val1), val1),
        Restrictions.Eq(Projections.Property(() => obj1.val2), val2)
    ))
    .ToList();
  • 方式2:使用QueryOver支持的强类型逻辑运算符写法,语法更简洁,编译期即可校验字段合法性:
var query = session.QueryOver<你的实体类>(() => obj1)
    .Where(() => obj1.val1 == val1 || obj1.val2 == val2)
    .ToList();

注意:代码中的你的实体类需要替换为你实际映射的obj1对应的实体类型名称。

内容的提问来源于stack exchange,提问作者HAZAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:15:05