Fluent Nhibernate在映射中放置where子句

时间:2010-02-23 15:20:46

标签: nhibernate orm fluent-nhibernate nhibernate-mapping

我有两个父对象和子列表对象。在我的父母流利的nhibernate映射中,我想加载子列表。

但是我希望这是有条件的,子表中的列被称为“IsDeleted”,我只想返回“IsDeleted”为假的子项。

是否可以设置映射来执行此操作?如果不是,可以用标准的nhibernate来做到这一点吗?

由于

1 个答案:

答案 0 :(得分:11)

是的,你可以在Fluent NHibernate中使用Where约束来映射它。有点像:

HasMany(x => x.Children).Where("IsDeleted = 0");

Where约束应该使用SQL语法而不是HQL。对于允许软删除的表,可能更容易映射过滤掉已删除记录的视图。