0

我目前正在使用一个 NHibernate 应用程序,该应用程序包含表A曾经具有对另一个相关表B的外键引用。此后,此约束已被有意删除,因为B中的项目可能会被辅助应用程序删除,超出我的控制范围。

尽管约束现在已经消失,但如果B中的行仍然存在,则从AB的引用仍然可以被认为是有用的,否则它可能被视为空值。

如果从B中删除由A引用的行,则非常正确,会引发异常,指出“不存在具有给定标识符的行”。

在来自A的引用不再存在于B的情况下,有没有办法流畅地(或以其他方式避免显式查询/连接)让对象引用返回 null ,但如果引用则返回B所描述的对象已验证?

当前的单向流畅映射(被视为外键引用)看起来相当简单

...
References(a => a.b_ref, "b_id");
...
4

1 回答 1

2

通过更新流畅的映射看起来像这样,当找不到引用时,可以忽略该引用并将其视为 null

...
References(a => a.b_ref, "b_id").NotFound.Ignore();
...

有时这只是通过谷歌偶然发现正确关键字的问题。

于 2013-01-22T19:22:07.777 回答