在Entity Framework中正确使用异步方法

时间:2015-04-17 12:04:02

标签: c# entity-framework asynchronous

我正在使用实体框架6.1开发新的应用程序。这次我在我的存储库类中使用异步methdos。这意味着我没有使用SaveChanges(),ToList(),Count(),而是使用SaveChangesAsync(),ToListAsync(),CountAsync()。

我做了一项研究,以找出使用异步操作的正确时间。问题是有些文章说如果可能的话总是使用异步操作(考虑到EF 6.1),它可能在简单场景中没有显示出任何差异,但今天async总是一个不错的选择。

然而,有些文章说当主题是异步查询时DbContext类有点乱,你在选择异步操作时应该小心......

最后,经过几个小时的研究,我仍然不知道我是否可以毫无问题地使用异步操作(考虑到EF的最新版本)...有人说是,有些人说不......所以,我的问题是"我可以在没有问题的情况下对每个数据库查询使用异步操作吗?"

希望我清楚我的问题。

1 个答案:

答案 0 :(得分:0)

新的Async模型设计用于基于ASYNC模型的所有代码和应用程​​序架构...然后您可以使用异步方法..

如果您使用的不是异步模型..更好的方法是使用非异步方法,因为您永远不会知道非异步上下文中的异步代码是否能正常工作。