【问题标题】:Detect entity that is attached to a different context in Entity Framework检测附加到实体框架中不同上下文的实体
【发布时间】:2017-03-03 19:20:51
【问题描述】:

是否有可能(这是使用 CodeFirst 的 EF6 DbContext)检测已传递到给定数据上下文以进行保存但实际上附加到不同上下文的任何实体?

实体框架只给出了一个泛型,无法保存,因为实体附加到另一个上下文错误,但没有提供有关哪个实体附加到不同上下文的任何信息。这使得这种情况特别难以调试。

我知道 changeTracker.Entries() (我不确定这些记录是否实际出现在其中),并且我知道我可以将它的实体与本地上下文进行比较以查看它们是否被跟踪,但两者都没有这些选项似乎让我可以确定实体是否被不同的上下文跟踪。

【问题讨论】:

标签: c# entity-framework entity-framework-6


【解决方案1】:

你不能这样做,因为实体不存储任何指向上下文的指针,它实际上是相反的(上下文知道实体)。 如果您在实体中使用延迟加载,您可以做的是使用反射找出实体来自的上下文。但我不建议这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多