事实上,这和这篇文章是同一个问题:
如何确保我的 LINQ 查询在 DAL 中调用时执行,而不是以延迟方式执行?
但既然他没有解释他为什么想要它,这个问题似乎已经被忽略了一点。这是我的类似但更好解释的问题:
我有两种类型的少数线程(暂时忽略 UI 线程)。有一个“数据收集”线程类型和一个“计算”线程类型。数据收集线程很慢。有相当多的数据需要从各个地方进行筛选。计算线程相对较快。到目前为止的设计模型是将数据收集线程发送出去以查找数据,并在完成后将数据传递给计算。
当我在 Linq 中编码我的数据收集时,我最终将一些缓慢提升到我的计算线程中。现在有一些数据元素在计算过程中使用之前没有得到完全解决——这是一个问题。
我想强制 Linq 在给定时间完成它的工作(语句结束?方法结束?“请结束,该死的”方法调用),以便我知道我以后不会为此付费。将“.ToList()”添加到 Linq 的末尾是 1. 尴尬,并且 2. 感觉就像装箱一些即将在另一个线程中拆箱的东西。