Fluent Nhibernate - 无法识别的方法调用:System.Linq.Enumerbale:Boolean
本文关键字:调用 System Linq Boolean Enumerbale 方法 Nhibernate 识别 Fluent | 更新日期: 2023-09-27 18:34:28
我正在尝试进行查询,但我得到了一个例外 -
无法识别的方法调用:System.Linq.Enumerbale:Boolean Any
现在,我明白为什么会出现异常,因为我正在尝试在 queryover 中使用 linq,但没有它我无法弄清楚该怎么做:
Disjunction dis = new Disjunction();
if (KasafotIds.Any())
{
dis.Add(Restrictions.Where<Entity>(x => x.Kasafot.Any(m => KasafotIds.Contains(m.Id))));
}
在使用
QueryOver 时需要显式连接。这可能有效:
var dis = new Disjunction();
if (KasafotIds.Any())
{
Foo alias = null;
query.JoinAlias<Foo>(x => x.Kasafot, () => alias);
dis.Add(Restrictions.Where(() => alias.Id.IsIn(KasafotIds)));
}