0

我有一个一对一的关系,一端是可选的,另一端是非可选的,如果我从可选端将它设置为 nil 会发生什么?另一端会被删除吗?或者这会导致错误吗?

4

1 回答 1

2

如果您有一对一的关系,并且从一侧将其设置为 nil,则在另一侧也将其设置为 nil。这是反向关系如何工作的基本部分。

除非您将其删除,否则不会删除任何内容。如果删除与另一个对象具有一对一关系的对象,并且该关系的删除规则设置为“级联”,则相关对象也将被删除。这与将关系设置为 nil 是分开的。

这会导致错误吗?如果关系不是可选的,如果在关系为零时保存更改,则会收到错误消息。内存中允许为 nil;保存更改时会检查可选标志。但在此之前,您可以将关系重新分配给非零对象,或者删除对象,而不会出现错误。

于 2013-07-22T16:16:06.373 回答