这是我面临的问题:
我有一个Contact托管对象,其中包含account_id和用户名。用户名和account_id都是unique
,但遗憾的是我别无选择,只能容忍只有用户名,有时只有account_id。
异步地,我立即开始检查服务器以获取联系人的第二部分(用户名或account_id)。
这导致潜在的竞争条件。我可以创建一个用户名" Austin"但没有帐户ID。我可以同时创建一个与account_id:1234的联系人。对服务器的调用可能会随后显示Austin用户名实际上具有1234帐户ID,而这两个联系人对象实际上是一个联系人。
如果发生这种情况,我会遇到以下情况:
contact1: username = "Austin", account_id = nil, a bunch of to-many relationships
contact2: username = nil, account_id = "1234", a bunch of *different* to-many relationships
并将它们合并到
中contact: username = "Austin", account_id="1234" and the union of all the relationships in either original contact.
有没有人知道进行此对象合并的最佳方法?
提前致谢