您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过IQueryable循环与使用C#中的Reader.Read()通过Datareader循环相同

通过IQueryable循环与使用C#中的Reader.Read()通过Datareader循环相同

AFAIK EF将使用您的第二个选项。之所以这样说,是因为我经历了EF在循环浏览第一个查询的结果时执行另一个查询时会打开第二个连接的情况。由于我正在使用事务,并且我禁用了分布式事务,并且第二个打开的连接(虽然第一个连接仍处于打开状态并且已使用)禁用了当前事务的重用,所以我的第二个查询抛出了一个异常,说DTC不是未启用。

所以我的结论是:如果您正在执行查询并遍历结果(因此为no.ToList()),则查询仍在执行,并且连接仍处于打开状态,并且如果EF使用的是数据读取器,则为在从数据读取器读取的循环中。

c# 2022/1/1 18:51:30 有530人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶