是否有可能(这是使用CodeFirst的EF6 DbContext)检测已传递给给定数据上下文以进行保存但实际附加到不同上下文的任何实体?
实体框架只提供通用,无法保存,因为实体附加到另一个上下文错误,但没有提供有关哪个实体附加到不同上下文的任何信息。这使得这种情况特别难以调试。
我知道changeTracker.Entries()(其中我不确定这些记录是否实际出现),我知道我可以将这些实体与本地上下文进行比较以查看它们是否被跟踪,但是这些选项似乎都不允许我确定实体是否被不同的上下文跟踪。
答案 0 :(得分:1)
你不能这样做,因为实体不存储任何指向上下文的指针,它实际上是相反的(上下文知道实体)。 如果您在实体中使用延迟加载,则可以使用反射查找实体来自的上下文。但我不建议。