【发布时间】:2015-06-04 10:19:39
【问题描述】:
我有一个 UI 线程,它使用户能够设置实体的某些属性。
我还有工作线程,它们会自动修改实体的属性,重要的是,用户无权访问。
每个线程有不同的DbContexts 是否安全,并且仅依赖于我的编程来始终避免修改相同的属性,然后尝试在以不同方式修改相同实体的上下文中尝试SaveChanges()?
或者有没有一种更安全的方法来做到这一点,即程序员有可能在某一天更改代码,以便从两个不同的上下文安全地修改相同的属性?还是后一种情况只是程序员必须小心/重构的一种情况?
【问题讨论】:
-
您是否关心 EF 数据结构周围的线程安全,或者您是否关心如何使对一个上下文的写入传播到其他上下文?
-
@usr 这是关于我希望能够从 UI 线程修改的实体的线程安全性和数据完整性,而长时间运行的任务会确定该实体的其他属性的值。
标签: c# multithreading entity-framework concurrency database-concurrency