Tôi có một thiết lập lớp đó trông giống như sau:NHibernate Nhiều-To-One trên Subclass Tham gia với Bộ lọc
public abstract class Parent
{
public virtual bool IsDeleted { get; set; }
}
public class Child : Parent
{
}
public class Other
{
public virtual ICollection<Child> Children { get; set; }
}
trẻ em là ánh xạ như một gia-lớp con của phụ huynh. Childen được ánh xạ dưới dạng túi Nhiều người. Túi có bộ lọc được áp dụng cho nó có tên là SoftDeletableFilter. Ánh xạ bộ lọc trông giống như:
<filter-def name="SoftDeleteableFilter" condition="(IsDeleted = 0 or IsDeleted is null)" />
Vấn đề đó là khi Other.Children được tải bộ lọc đang được áp dụng cho bảng con chứ không phải bảng cha. Có cách nào để nói với NHibernate để áp dụng bộ lọc cho lớp cha mẹ?
Edit: Dưới đây là các bản đồ mẹ:
<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>
Ran vào cùng một vấn đề ngày hôm nay. Bao giờ tìm thấy một giải pháp? – Joel