1 対 1 の関係があり、一方はオプションであり、もう一方はオプションではありません。オプション側から nil に設定するとどうなりますか? もう一方の端は削除されますか?それとも、これはエラーになりますか?
1 に答える
2
1 対 1 の関係があり、一方から nil に設定すると、反対側でも nil に設定されます。これは、逆の関係がどのように機能するかの基本的な部分です。
削除しない限り、何も削除されません。別のオブジェクトと1 対 1 の関係を持つオブジェクトを削除し、関係の削除規則が「カスケード」に設定されている場合、関連するオブジェクトも削除されます。これは、リレーションシップを nil に設定することとは別のものです。
これはエラーになりますか?関係がオプションでない場合、関係が nil のときに変更を保存すると、エラーが発生します。メモリ内では nil にすることができます。オプションのフラグのチェックは、変更を保存するときに発生します。しかし、その前に、リレーションシップを nil 以外のものに再割り当てしたり、オブジェクトを削除したりしても、エラーは発生しませんでした。
于 2013-07-22T16:16:06.373 に答える