Json EF核心还原复杂实体
我有一个复杂的实体,它包含多个列表成员,每个成员都包含更多的子列表实体。 我们需要“备份”然后恢复整个对象,因此我们认为将对象序列化为Json非常容易,然后恢复将是一个简单的反序列化,返回到主对象中。 这会产生错误 “无法跟踪实体类型'MasterObject'的实例,因为已在跟踪另一个具有{'Id'}相同键值的实例…” 很明显,它无法识别我还原的对象是正在跟踪的原始对象。 我们尝试分离跟踪的对象,然后重新连接,这对一个点有效;当子列表中删除或添加了一些项目时,它无法提供帮助-跟踪不会帮助我们在该时刻之后删除项目。 我们可以计算出确切的更改,然后单独标记为delete等。但我们确实在做EF稍后将要做的事情,还有很多更改需要测试。 我们也试过了 “Context.Entry(myObject).CurrentValues.SetValues(objectFromBackup)” 但删除/添加的子项也会出现同样的问题。Json EF核心还原复杂实体,json,restore,ef-core-2.1,Json,Restore,Ef Core 2.1,我有一个复杂的实体,它包含多个列表成员,每个成员都包含更多的子列表实体。 我们需要“备份”然后恢复整个对象,因此我们认为将对象序列化为Json非常容易,然后恢复将是一个简单的反序列化,返回到主对象中。 这会产生错误 “无法跟踪实体类型'MasterObject'的实例,因为已在跟踪另一个具有{'Id'}相同键值的实例…” 很明显,它无法识别我还原的对象是正在跟踪的原始对象。 我们尝试分离跟踪的对象,然后重新连接,这对一个点有效;当子列表中删除或添加了一些项目时,它无法提供帮助-跟踪不会帮助我们在
有没有更好的方法可以尝试恢复复杂实体?我们通过在所有需要恢复的表上使用序列而不是标识来修复此问题,然后通过EF core删除并重新添加这些表,这似乎是可行的。 任何其他建议仍然欢迎