インターフェイスごとにオブジェクトの正しい数を取得するという問題に直面しました。
var count = session.Query<IDirty>().Count();
インターフェイス IDirty を実装する 2 つのクラスがあります。Count は、2 番目を無視して、1 つのクラスのオブジェクトの数を返します。
QueryOver は、アイテムが一意ではないという例外をスローするだけです。
var count2 = session.QueryOver<IDirty>().RowCount();
内部的には SingleOrDefault メソッドを使用していますが、失敗する理由は何ですか...
アイテムのリストの取得は正しく機能しています - リストには両方のタイプのオブジェクトが含まれています:
var list= session.Query<IDirty>().ToList();
すべてのアイテムを列挙せずに正しいカウントを取得する回避策はありますか?