我正在为 SQL Server 2012使用 NHibernate3.3.1.4000
和 FluentNHibernate1.3.0.733
我有下一节课:
class Foo {
public virtual bool Enabled;
public virtual IList<Bar> Children;
}
class Bar {
public virtual Foo Parent;
}
并想要计算Bar
已启用Foo
项目的所有项目数。
Session.Query<Foo>(x => x.Enabled).Cacheable().Sum(x => x.Children.Count)
但我收到Antlr.Runtime.NoViableAltException
异常:
引发了“Antlr.Runtime.NoViableAltException”类型的异常。[.Sum[Foo](.Where[Foo](.CacheableFoo, Quote((x, ) => (x.Enabled)), ), Quote((x, ) => (x.Children.Count)), )]
如果我Bar
像这样在客户端(加载所有项目)求和,一切正常:
Session.Query<Foo>(x => x.Enabled).Cacheable().ToList().Sum(x => x.Children.Count)
您能否建议在服务器端执行此操作的最佳决定?