J'ai une configuration de classe qui ressemble à ceci:NHibernate Many-to-one sur la sous-catégorie A rejoint avec filtre
public abstract class Parent
{
public virtual bool IsDeleted { get; set; }
}
public class Child : Parent
{
}
public class Other
{
public virtual ICollection<Child> Children { get; set; }
}
enfant est mis en correspondance en tant que joint-sous-classe de Parent. Childen est mappé en tant que sac Many-To-One. Le sac a un filtre appelé SoftDeletableFilter. La cartographie du filtre ressemble:
<filter-def name="SoftDeleteableFilter" condition="(IsDeleted = 0 or IsDeleted is null)" />
Ce problème est que lorsque Other.Children est chargé le filtre est appliqué à la table des enfants et non la table parent. Est-il possible de dire à NHibernate d'appliquer le filtre à la classe parente?
Edit: Voici le mapping parent:
<class name="Parent">
<id ..
<property name="IsDeleted" type="System.Boolean">
<column name="IsDeleted" />
</property>
<joined-subclass name="Child">
<key>
<column name="ParentId" />
</key>
...
</joined-subclass>
</class>
rencontré le même problème aujourd'hui. Avez-vous déjà trouvé une solution? – Joel