我目前正在使用一个 NHibernate 应用程序,该应用程序包含表A曾经具有对另一个相关表B的外键引用。此后,此约束已被有意删除,因为B中的项目可能会被辅助应用程序删除,超出我的控制范围。
尽管约束现在已经消失,但如果B中的行仍然存在,则从A到B的引用仍然可以被认为是有用的,否则它可能被视为空值。
如果从B中删除由A引用的行,则非常正确,会引发异常,指出“不存在具有给定标识符的行”。
在来自A的引用不再存在于B的情况下,有没有办法流畅地(或以其他方式避免显式查询/连接)让对象引用返回 null ,但如果引用则返回B所描述的对象已验证?
当前的单向流畅映射(被视为外键引用)看起来相当简单
...
References(a => a.b_ref, "b_id");
...