0

overwriteコンテキストにマージ ポリシーを適用すると、対多関係のマージ結果が混乱することがあります。例えば:

元の値:

属性/関係 タイプ 価値
名前 5月
整数 20
趣味 NSOrderedSet 【ウォーキング・読書】

以下のように属性の値のみを変更した場合、コンテキスト 1 で行われた変更はコンテキスト 2 によって完全に上書きされます。

// context 1
entity.name = "May2"
entity.age = 21 

// context 2
// mergePolicy = .overwrite
entity.age = 22

// result:
// name: "May", age: 22

ただし、以下のように対多関係を更新するとhobbies、マージ結果は ではなく空になり[reading]ます。

質問: この場合、対多関係が上書きされない理由を誰か説明できますか? ありがとう!

// context 1
entity.hobbies = [walking]

// context 2
// mergePolicy = .overwrite
entity.hobbies = [reading]

// result:
hobbies: []
4

0 に答える 0