【发布时间】:2013-03-12 10:42:03
【问题描述】:
我遇到了通过接口获取正确数量的对象的问题:
var count = session.Query<IDirty>().Count();
有 2 个类实现了 IDirty 接口。 Count 返回一个类的对象数,忽略第二个。
QueryOver 只是抛出该项目不是唯一的异常。
var count2 = session.QueryOver<IDirty>().RowCount();
它在内部使用 SingleOrDefault 方法,是什么解释了它失败的原因......
获取项目列表工作正常 - 列表包括两种类型的对象:
var list= session.Query<IDirty>().ToList();
是否有任何解决方法可以在不枚举所有项目的情况下获得正确的计数?
【问题讨论】:
-
在 QueryOver 场景中,如果您在单个属性(id?)上投影并对其执行计数,它会改变什么吗?
标签: c# .net nhibernate