SQL Server 2012 にNHibernate3.3.1.4000
と FluentNHibernateを使用しています1.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)
サーバー側でこれを行うための最良の決定を提案できますか?