【问题标题】:Entity Framework and multithreading实体框架和多线程
【发布时间】:2011-04-04 05:04:46
【问题描述】:

我有一个处理一些消息的 WCF 服务。我使用 EntityFramework 来检索消息。我将这些消息添加到 ThreadPool 队列中,然后处理它们。处理完所有消息后,我在 Entity Framework 上调用 update 来更新消息的状态。

在此操作期间,我随机收到错误消息 - “在没有首先在具有相同属性名称的同一更改跟踪器上调用 EntityMemberChanging 或 EntityComplexMemberChanging 的情况下调用了 EntityMemberChanged 或 EntityComplexMemberChanged。有关正确报告更改的信息,请参阅实体框架文档。”

当触发特定属性的 ReportPropetychanged 事件时会引发此错误。

任何帮助将不胜感激。

问候

安迪

【问题讨论】:

    标签: multithreading entity-framework .net-3.5


    【解决方案1】:

    不要在线程之间共享 ObjectContext —— 或任何附加到它的对象。是documented to be non-thread-safe

    【讨论】:

    • 如何不共享对象上下文?如果它在一个uow中
    猜你喜欢
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多