【发布时间】:2015-06-04 11:23:54
【问题描述】:
据我了解,如果我在这样的上下文中更改条目的状态:
context.Entry(doc).State = EntityState.Added;
doc 后面的整个对象图将设置为EntityState.Added。这就是这个机制如何描述here:
请注意,对于所有这些示例,如果要添加的实体具有 对尚未跟踪的其他实体的引用然后这些新的 实体也将被添加到上下文中,并将被插入到 下次调用 SaveChanges 时的数据库。
在我的情况下,这种行为是不可取的。当我收到doc 实体时,它的关系已经在数据库中(在不同的上下文中添加)并且再次添加它们会导致错误。我需要将doc 添加到包含所有引用的数据库中,但不要尝试在图中添加其他对象。
当然,我可以遍历所有图形并显式设置状态,但是否存在更简单的方法?
【问题讨论】:
标签: c# entity-framework entity-framework-6 dbcontext change-tracking