gpt4 book ai didi

NHibernate QueryOver 对变量的限制

转载 作者:行者123 更新时间:2023-12-04 02:21:48 26 4
gpt4 key购买 nike

我有一个小问题:我会在我的 QueryOver 中插入一个条件来检查变量值。像这样:

 var qOver = QueryOver.Of<MyModel>(() => myMod)
.JoinAlias(() => myMod.SubMod, () => subMod, JoinType.LeftOuterJoin)
.Where(Restrictions.Or(
Restrictions.On(() => myMod.ID).IsIn(MyIDList)
, Restrictions.On(MyIDList == null))

在 SQL 语法中类似

WHERE @Variable = '' OR MyTable.MyField = @Variable

因此,如果我的变量已填充,我将在我的字段上进行过滤。如果我的变量为空(或 null),我将选择每条记录而不过滤任何内容。

我怎样才能使用 QueryOver 和限制获得这个结果?谢谢!

最佳答案

如果变量为 null 或未设置,请不要将其添加到您的查询中。

var qOver = QueryOver.Of<MyModel>(() => myMod)
.JoinAlias(() => myMod.SubMod, () => subMod, JoinType.LeftOuterJoin);

if( MyIDList != null )
qOver = qOver.Where(Restrictions.Or(Restrictions.On(() => myMod.ID).IsIn(MyIDList))

关于NHibernate QueryOver 对变量的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com