假设我有名为 People 的数据库表和实体 People。假设我需要一种快速的方法来删除一部分人,使其不在应用程序中随处显示。因此,我将 IsDeleted 列添加到 People 表,并将该列中的值设置为 1。
在 Entity Framework 中,有一种机制指定不应获取列 IsDeleted 中的值设置为 1 的实体实例,并且映射框架会自动过滤数据。有可能用 NHibernate 实现吗?
最佳答案
您可以在 class mapping 中定义 where
属性.
where (optional) specify an arbitrary SQL WHERE condition to be used when retrieving objects of this class
<class ... where="IsDeleted = 0">
如果您使用的是 Fluent NHibernate,那么只需在映射类中定义它:
Where("IsDeleted = 0");
NH 的代码映射应该类似于 Fluent NHibernate 的映射。
关于nhibernate - 在 NHibernate 中的映射级别过滤实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10899503/