我正在处理的应用程序是客户端/服务器,它们之间具有 REST 通信。我想在服务器端使用 db4o。客户端可以更新或创建条目。因此,对象从客户端返回到服务器以从“对象容器外”进行更新。
让:
public class IdHolder
{
public Guid Id {get; set;}
}
public class MyClass : IdHolder
{
public string SomeData {get; set;}
public IdHolder Child {get; set;}
}
如您所见,MyClass 类引用了 IdHolder。
根据 db4o文档,我有 2 个解决方案:1.内部 Uuid 2.手动 Guid 处理
在情况 1. 中,客户端必须具有对 db4o 程序集的引用才能知道特定类型的 db4o.Uuid 是不好的。
在情况 2.(在上面的类定义中隐含)中,Guid 处理很方便,但 db4o 不知道内部 IdHolder 引用。例如:
- o1 是保存在 DB 中的 IdHolder
- o2 是带有 o2.Child == o1 的 MyClass
当 o2 被发送到 Server 进行保存时,由于 db4o 不知道 o1 已经存在并且可以通过其 o1.Id 找到,所以将 o1 的重复条目保存在 DB 中。
问题是:使用 db4o 处理断开连接场景的最佳方法是什么?
编辑:
如果文档处理此类问题,则此部分。“合并”。对我来说似乎不是很满意。我对您的概念/技术想法持开放态度。