NHibernate使用可选的where

本文关键字:where NHibernate | 更新日期: 2023-09-27 18:03:27

在Nhibernate中是否可以使用可选的where子句进行查询?

我有一个查询下面的id列表传入:

var query = Session.QueryOver<Orders>()
                   .WhereRestrictionOn(x => x.OrderId)
                   .IsIn(Ids);

如果列表为空,我想返回整个Orders表。使用nhibernate可以做到这一点吗?

NHibernate使用可选的where

就这样做:

var query = Session.QueryOver<Orders>();
if (ids == null || ids.Count == 0)
{
    query = query.WhereRestrictionOn(x => x.OrderId).IsIn(Ids);
}