Ho una configurazione di classe che sembra qualcosa di simile:NHibernate Molti-a-uno sulla sottoclasse Registrato con filtro
public abstract class Parent
{
public virtual bool IsDeleted { get; set; }
}
public class Child : Parent
{
}
public class Other
{
public virtual ICollection<Child> Children { get; set; }
}
bambino è mappato come uniti-sottoclasse di Parent. Childen è mappato come un sacchetto Many-a-One. Alla borsa è applicato un filtro chiamato SoftDeletableFilter. La mappatura del filtro assomiglia:
<filter-def name="SoftDeleteableFilter" condition="(IsDeleted = 0 or IsDeleted is null)" />
Questo problema è che quando viene caricato Other.Children il filtro viene applicato alla tabella figlio e non tabella padre. C'è un modo per dire a NHibernate di applicare il filtro alla classe genitore?
Edit: Ecco la mappatura genitore:
<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>
incontrato lo stesso problema di oggi. Hai mai trovato una soluzione? – Joel