我有两个父对象和子列表对象。在我的父母流利的nhibernate映射中,我想加载子列表。
但是我希望这是有条件的,子表中的列被称为“IsDeleted”,我只想返回“IsDeleted”为假的子项。
是否可以设置映射来执行此操作?如果不是,可以用标准的nhibernate来做到这一点吗?
由于
答案 0 :(得分:11)
是的,你可以在Fluent NHibernate中使用Where约束来映射它。有点像:
HasMany(x => x.Children).Where("IsDeleted = 0");
Where约束应该使用SQL语法而不是HQL。对于允许软删除的表,可能更容易映射过滤掉已删除记录的视图。