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