私はこれについていくつか検索して何も表示しませんでした。 discriminatorに基づいてオブジェクトのセットを返すためのHibernateクエリを作成することは可能ですか?NHibernateのdiscriminatorによるクエリ
私は具体的なクラスUserTypeAとUserTypeBによって拡張されたAbstractUserクラスを持っています。私はクラスごとのテーブルを使用して、NHibernateでクラスをマップするので、UserTypeAとUserTypeBは両方とも異なるテーブル値に同じテーブルに格納されます。ここに私の弁別子マッピングプロパティがあります:
<discriminator column="Type" type="string"/>
私はユーザーの種類の名前を含むテーブル内の列を持っています。私はこれを使用してNHibernateクエリを実行することが可能かどうか疑問に思っています。
私はこの試みた:
public IList<DomainBase> FindByType(string typeName, Type type)
{
string query = "from " + type.Name + " k where k.Type = " + typeName;
return Session.CreateQuery(query).List<DomainBase>();
}
をしかし、タイプが実際にクラスのプロパティは、テーブル内だけの列ではないので、これは明らかに動作しません。弁別者として財産を使用する方法がない限り、この目的のための財産と弁別者の両方を持つことは重複しているようです。
これは条件APIで可能ですか? – joniba
@ joniba私はそれが信じています。 –