实体框架存储库和异步调用

时间:2012-11-10 20:05:11

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

我有一个使用EF访问数据库的存储库。该存储库用于我的主要应用程序。

我的不确定是以异步方式调用我的存储库的方法是一个好主意,还是更好的正常调用。

如果是异步方式是个好主意。最好是将异步调用到我的存储库方法,还是有其他方法以异步方式使用EF?

感谢。 Daimroc。

1 个答案:

答案 0 :(得分:2)

有关EF和服务器端编程的异步支持主要是为了帮助您的站点在服务器上更好地扩展。通过在可能需要一段时间的操作(例如访问数据库)时释放线程,该线程将可用于另一个Web请求。一旦数据库返回结果,您就可以从中断的地方继续。

正如Pawel在上面的评论中所述:ObjectContext的一个实例并不适用于多线程环境。为您处理的每个请求创建一个实例。

回答您的原始问题:是的,如果您担心扩展您的网站,那么在EF6中使用新的异步支持是一个很好的理想选择。