我有一个方法可以创建一个具有相当复杂的对象图的新实体,该实体可能包含也可能不包含其中的现有实体。该方法管理自己的上下文。它返回在不同类上的方法中使用的实体,该类维护自己的上下文并尝试添加实体。
分工的原因是因为第二种方法进行了一系列处理,这些处理对于几种不同的实体创建方案是通用的。我不想在第一种方法中保存实体,因为在将实体保存到数据库之前,第二种方法是成功的很重要。
问题在于,当第二个上下文添加实体时,它将整个对象图视为全新的,并在数据库中创建重复项。
将实体添加到第二个上下文并将其对象图中的所有现有实体都附加到什么地方的最佳方法是什么?
我试图避免做一些事情,比如遍历对象图并测试ID> 0 ...