multithreading - Entity Framework 和多线程

标签 multithreading entity-framework .net-3.5

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

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

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

任何帮助,将不胜感激。

问候

安迪

最佳答案

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

关于multithreading - Entity Framework 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3574329/

相关文章:

.net-3.5 - 如何测试我的服务器是否安装了 .net 3.5 SP1?

c# - Entity Framework 核心;在针对 (MS) SQL Server 的查询中使用 ORDER BY

安卓错误 : Only the original thread that created a view hierarchy can touch its views

java - Java 中的守护进程线程数

android - 持续更新UI的后台服务

c# - 向实体 LINQ 查询添加条件(字符串)

c# - Entity Framework 在不同集合中多次引用同一个对象

c# - 我如何将其写成单个 LINQ 查询?

c# - 如果我已经创建了一个序列化程序集,为什么代码会编译一个序列化程序集?

java - 发送到 ExecutorService 的作业的运行时间