Думаю, вы концептуально путаете контексты управляемого объекта с постоянным хранилищем.Вы можете иметь произвольное количество контекста, привязанного к конкретному хранилищу, и изменения, внесенные в любом отдельном контексте, в конечном итоге будут отображаться во всех остальных.
Это особенно верно для выборок, которые идут прямо в магазин, чтобы найти объекты.Ваш код работает должным образом, если вы вызываете save
в контексте other
.Как только вы сохраняете объект, он попадает в постоянное хранилище и будет отображаться во всех выборках всей сущности.
Вы не должны создавать управляемые объекты, которые могут иметь дубликаты.Вместо этого обычной практикой является выборка новых значений, чтобы посмотреть, существуют ли они уже, и создать новый управляемый объект со значением, только если значение еще не существует в хранилище.Чтобы сделать это быстро, вы можете сделать выборку для определенного свойства и посмотреть, возвращено ли что-нибудь.