2011-11-15 7 views
0

私は、ディスクリミネータによってマップされたクラス階層ごとのテーブルを持っています。それは素晴らしいですが、私はコンテナクラスをどのように処理するか分かりません。NHibernate 1対多の識別器

シナリオには猫、犬、猫が含まれていますが、犬は1つのテーブルにあります。私は以下のような休止状態の解決策を見つけました。Polymorphic one-to-many。どのようにNHibernateで同じことをすることができますか?特に@Where(clause = "dtype = 'Dog'")

答えて

0

リクエストされたときにペットコレクションをフィルタリングするだけです。 C#では、これは次のようになります。

public List<Cat> Cats 
{ 
    get { return Pets.OfType<Cat>().ToList(); } 
} 

それともIEnumerable<Cat>として猫コレクションを返すとToList()をオフにしておきます。