Fluent Nibernate在映射中放置一个where子句

lan*_*der 5 nhibernate orm nhibernate-mapping fluent-nhibernate

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

但是,我希望这是有条件的,子表中的列称为"IsDeleted",我只想返回"IsDeleted"为false的子项.

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

谢谢

Jam*_*Ide 11

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

HasMany(x => x.Children).Where("IsDeleted = 0");
Run Code Online (Sandbox Code Playgroud)

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