我想知道是否有办法忽略NHibernate的子对象,其中存在级联映射。鉴于以下情况:超级管理员被允许查看所有事件,即使他没有被列入所有事件。这是通过模拟(或伪造) - 表示超级管理员和事件之间关系的对象实现的,这些对象在持久性级别上不存在。
唯一的问题是,如果保存超级管理员,NHibernate会将这些模拟对象创建为新条目。有没有办法以某种方式注册这些子对象,以使NHibernate忽略它们?
任何tipps的Thx sl3dg3
答案 0 :(得分:1)
你可以做这样的设计:
public class User
{
private IList<Event> _events;
public IList<Event> Events
{
get { return IsSuperAdmin ? Event.All : _events; }
}
}
然后您的映射只能映射到字段_events而不是公共属性。