将 foreach 与 LINQ to Entities 结合使用时是否需要 ToList

2023-11-24

我有一个关于 LINQ 如何与foreach通过实体框架中的可查询实体。

做哪一个更好(更快)

foreach(var thing in myentities.GetThemAll())

or

foreach(var thing in myentities.GetThemAll().ToList())

第一个例子实际上会导致myentities.GetThemAll().Count()(+1 ?) 访问数据库每次收集一行?


如果您只需迭代元素而不调用,那就更好了ToList()。这是因为当我们调用它时,会触发相应查询的立即执行,并会在内存集合中创建一个。

如果你不打电话ToList您将避免创建保存查询结果的内存集合。

无论您采用第一种方式,还是采用第二种方式,您都将与数据库进行一次往返。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 foreach 与 LINQ to Entities 结合使用时是否需要 ToList 的相关文章

  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • TempData 实施变更 - 变更原因

    在 ASP NET MVC 2 中 条目的生命周期TempDataDictionary只是一个 HTTP 请求 这转化为在一个请求中设置一个值 重定向 并在线路的另一端访问相同的项目 此后 无论您是否在该行的末尾从字典中读取该值 该条目都将
  • Emacs:.emacs 中延迟加载模式的最佳实践?

    遇到相关文件扩展名时 是否有关于延迟加载模式的最佳实践 此时我已经安装了大约 25 种不同的 Emacs 模式 并且启动变得很慢 例如 虽然准备好 clojure 模式很好 但我很少使用它 并且我想完全避免加载它 除非我打开扩展名为 clj
  • 在 jsx 和 map 中对 if 语句做出反应

    我有工作代码 地图函数中的 if 语句没有什么问题 这里是代码 const SortableItem SortableElement CashItem const SortableList SortableContainer items g
  • NSSearchPathForDirectoriesInDomains 返回错误的目录

    我在用着NSSearchPathForDirectoriesInDomains NSDocumentDirectory NSUserDomainMask YES 获取我的应用程序中的应用程序文档目录 但返回的数组仅包含一个对象 并且它是一个
  • Android - 使用 Timer 和 TimerTask 控制任务?

    我目前正在尝试在 Android 应用程序中设置 WiFi 扫描 每 30 秒扫描一次 WiFi 接入点 我已使用 Timer 和 TimerTask 使扫描按照我需要的时间间隔正确运行 但是 我希望能够在用户按下按钮时停止和开始扫描 而我
  • JQuery 鼠标悬停图像叠加

    只是想知道如何才能 100 正确地工作 我想我已经快到了 基本上 我有一个图像 当我将鼠标悬停时 我希望在顶部出现一个覆盖层 这是一个彩色 div 我有这个半工作fiddle img src http mirrorchecker com i
  • HTML 页面中的抗锯齿字体

    有没有一种好方法可以在网页中创建清晰 清晰的大字体 我需要在我的主页上创建具有不同字体大小和颜色的标签云效果 我已经在 HTML CSS 中设置了它 但在较旧的浏览器或操作系统上默认不支持抗锯齿 它看起来有点 蹩脚 我玩过sIFR 它工作得
  • 如何沿圆移动点?

    我想通过使用圆半径和移动角度来以圆周运动移动精灵 例如 我知道精灵正在以半径 10 的圆内移动 当前位置为 387 38 角度为 28 度 现在我不想将它沿圆周移动 100px p1 x y coordinate known 387 38
  • 升级到 Material UI 4 - withStyles 后出现错误

    从 v3 9 x 升级到 MUI v4 0 2 后 我收到以下错误 您必须将组件传递给 connect 返回的函数 相反收到了 propTypes displayName WithStyles MyComponent options def
  • 使用 DirectX 的桌面捕获不起作用

    由于D3DPOOL SCRATCH处理速度较慢 所以我编写了桌面捕获程序以参考网上的报告 然而 结果却是一片漆黑的画面 这是控制台程序的结果还是有其他原因 include
  • OSX 10.9 上的 Pstack 进程

    在linux上为了查看给定时间的进程堆栈我们一般使用 堆栈pid gt 我想知道 osx 中的相同内容是什么 thanks sudo usr libexec stackshot i u p
  • 从 Java 文本文件中读取特定行

    有没有什么方法可以从文本文件中读取特定行 在 API 或 Apache Commons 中 就像是 String readLine File file int lineNumber 我同意它的实现很简单 但它的效率不是很高 特别是如果文件很
  • 在 lapply/ldply 的列表中使用对象名称

    在试图回答时一个问题早些时候 我遇到了一个看起来应该很简单的问题 但我无法弄清楚 如果我有一个数据框列表 df1 lt data frame a 1 3 x rnorm 3 df2 lt data frame a 1 3 x rnorm 3
  • Span 文本更改上的 MutationObserver 不会触发

    这只是一个简单的例子 而不是实际情况 MutationObserver 仍然没有触发 所以我对其工作原理的假设是错误的 JSFiddle function var editButtonVisibility function console
  • 图像上缩进的透明箭头/三角形

    我想做一个图像上的透明箭头 该三角形应在半透明块中缩进并显示背景图像 期望的输出 barShow background color 000 opacity 0 5 barShow before top 0 left 50 border so
  • 如何在 Markdown 中的文本上应用颜色

    我想使用 Markdown 来存储文本信息 但快速谷歌搜索显示 Markdown 不支持颜色 另外 Stack Overflow 不支持颜色 与 GitHub markdown 的情况相同 有没有允许彩色文本的 Markdown 风格 TL
  • TypeError:只有长度为 1 的数组可以使用 NUMPY 转换为 Python 标量

    coding utf 8 import matplotlib pyplot as plt import numpy as np import math task 2e x np linspace 0 0001 0 1 50 constant
  • .rpt设计时如何使水晶报表页面宽度变大

    我正在寻找一种调整页面宽度大小的方法 Crystal Reports 使我可以将字段放置在 rpt 文件中 到目前为止 我发现如果右键单击报告 选择 设计 打印机设置 我可以选择要打印报告的纸张尺寸 如果我选择 方向 横向 我可以增加页面的
  • 使用 prism.js 突出显示 html

    我似乎无法使用 prism js 突出显示 html 因为它删除了仅打印文本的标记 pre 标签内的以下代码仅显示为文本 我将 代码 标签的类设置为 语言标记 table class data table tr td Title td td
  • 将 foreach 与 LINQ to Entities 结合使用时是否需要 ToList

    我有一个关于 LINQ 如何与foreach通过实体框架中的可查询实体 做哪一个更好 更快 foreach var thing in myentities GetThemAll or foreach var thing in myentit