是否有必要在使用FirstOrDefault()之前将查询结果转换为.ToList()?

时间:2013-01-22 06:11:36

标签: entity-framework tolist

我正面临与交易相关的问题,例如

  

无法执行交易操作,因为有待处理的请求

  

不允许使用新事务,因为会话中还有其他线程在运行。

当我通过互联网调查此错误时,我可以看到许多博客指向在for循环中使用ToList()等。

我的问题是我在我的项目中经常使用FirstOrDefault(),如果我们在执行.ToList()之前总是使用FirstOrDefault(),或者它没有任何区别?

1 个答案:

答案 0 :(得分:2)

.ToList()方法将查询结果记录在内存中,因此您不再需要与数据库进行活动连接。如果您有大量内存可用,那么您可以转到.ToList()

对于嵌套数据库调用,即在循环

中,您必须面对此问题