在域模型中,有许多实体的Status
枚举值为Active
或Deleted
。
我正在寻找关于如何处理的推荐方法的文档和建议:
在获取具有Status
枚举的实体集合时,要排除默认值设置为Deleted
的实体(根据具体情况可覆盖)
在提取子实体集合时,默认情况下会排除默认值设置为Deleted
的实体。
总之,我实际上希望保留与具有Status
枚举属性的实体相关的所有数据,但默认情况下要排除那些值为Deleted
的状态。
任何正确方向的指针都非常赞赏。
答案 0 :(得分:1)
您可以在nhibernate中使用称为过滤器的功能。
示例:
<class name="Post" table="Posts">
<id name="Id">
<generator class="identity"/>
<id>
<property name="Title"/>
<property name="Text"/>
<property name="PostedAt"/>
<filter name="NoDeleted" condition="Status <> 'Deleted'"/>
</class>
然后当你查询:
session.EnableFilter("NoDeleted")