【问题标题】:Is it necessary to convert query result to .ToList() before using FirstOrDefault()?在使用 FirstOrDefault() 之前是否需要将查询结果转换为 .ToList()?
【发布时间】:2013-01-22 06:11:35
【问题描述】:

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

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

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

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

我的问题是我在我的项目中经常使用FirstOrDefault(),我们应该在使用FirstOrDefault()之前总是使用.ToList(),还是没有任何区别?

【问题讨论】:

  • 我不认为 .tolist()).first() 导致了这个问题。你能给我们看一些代码吗?

标签: entity-framework linq


【解决方案1】:

.ToList() 方法将查询结果存储在内存中,因此您不再需要主动连接数据库。如果您有大内存可用,则可以使用.ToList()

对于嵌套数据库调用,即在循环中,您必须面临这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    相关资源
    最近更新 更多