建议的异步获取数据的策略

时间:2012-09-24 02:02:09

标签: multithreading entity-framework

让我们说我需要对数据库执行几个不同的查询。每个查询返回不同的数据。每个查询都将在不同于UI线程的线程上执行。

我是否应该为数据库的所有查询都有一个线程,或者每个查询可以自由地拥有一个线程?建议的做法是什么?

1 个答案:

答案 0 :(得分:1)

单个ObjectContext/DbContext实例应用于并发数据库访问,因为它不适用于此类方案。

与不同上下文实例加载的对象交互是容易出错的,因为所有相关的实体实例都应该属于单个上下文实例。否则,您必须附加和分离实体。

如果所有操作都是读取,则首选拥有多个线程来检索数据,而对于CRUD操作,建议使用带有线程的单个上下文实例。