在带有linq而没有ToList()的foreach内时,数据库被锁定

在带有linq而没有ToList()的foreach内时,数据库被锁定,第1张

在带有linq而没有ToList()的foreach内时,数据库被锁定

仅当您访问数据时,linq查询才会转换为SQL查询。当您调用ToList()时,您将创建一个SQL查询,该查询将所有数据从db返回到代码中。现在,项var完全位于内存中,不再需要对数据库做任何工作。在第二个示例中,您使用的是foreach,它将在数据库中打开一个事务,而在该事务仍处于打开状态时,您将尝试更改将获得超时的数据,因为该表由打开的LINQ查询保留数据库。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5618276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存