0

1 対 1 の関係があり、一方はオプションであり、もう一方はオプションではありません。オプション側から nil に設定するとどうなりますか? もう一方の端は削除されますか?それとも、これはエラーになりますか?

4

1 に答える 1

2

1 対 1 の関係があり、一方から nil に設定すると、反対側でも nil に設定されます。これは、逆の関係がどのように機能するかの基本的な部分です。

削除しない限り、何も削除されません。別のオブジェクトと1 対 1 の関係を持つオブジェクトを削除し、関係の削除規則が「カスケード」に設定されている場合、関連するオブジェクトも削除されます。これは、リレーションシップを nil に設定することとは別のものです。

これはエラーになりますか?関係がオプションでない場合、関係が nil のときに変更を保存すると、エラーが発生します。メモリ内では nil にすることができます。オプションのフラグのチェックは、変更を保存するときに発生します。しかし、その前に、リレーションシップを nil 以外のものに再割り当てしたり、オブジェクトを削除したりしても、エラーは発生しませんでした。

于 2013-07-22T16:16:06.373 に答える