我正在使用NHibernate从遗留数据库中提取一些数据,我发现有几种情况存在外键,但引用的行已被删除.
当我进行NHibernate映射时(使用Fluent NHibernate):
References(d => d.Group) .WithColumns("groupId", "dataset") .SetAttribute("lazy", "true");
我Group
在加载根对象时得到一个单元化代理,然后ObjectNotFoundException
在我尝试使用它时得到.
如果我禁用延迟加载,我会ObjectNotFoundException
在加载root时立即获得.
因此:有没有办法让NHibernate Group
在加载root时使null?或者是否有可能以某种方式检查单元化代理,以查看它是否会成功加载行?
我在这里找到了解决方案- 我需要添加
.SetAttribute("not-found", "ignore");
到映射.