C# 如何确保在DAL中调用LINQ查询时执行,而不是延迟执行?

C# 如何确保在DAL中调用LINQ查询时执行,而不是延迟执行?,c#,linq,linq-to-sql,delayed-execution,C#,Linq,Linq To Sql,Delayed Execution,我有一个DAL,它由一系列在我的数据库上执行LINQ查询的方法组成 我如何确保在从数据库返回IEnumberable或类似内容之前,我确保LINQ查询随后执行,而不是以某种延迟方式仅在使用结果时执行 我知道我可以在我的方法中对我的结果调用.ToList(),强制它执行,但这是最好的方法吗?调用或实际上是强制它执行并获得整个序列的最好方法(请参阅下面Randolpho的评论,了解将强制执行序列中单个元素的其他方法) 您希望避免延迟执行的具体原因是什么?不要忘记First()、Single()或Fi

我有一个DAL,它由一系列在我的数据库上执行LINQ查询的方法组成

我如何确保在从数据库返回IEnumberable或类似内容之前,我确保LINQ查询随后执行,而不是以某种延迟方式仅在使用结果时执行

我知道我可以在我的方法中对我的结果调用.ToList(),强制它执行,但这是最好的方法吗?

调用或实际上是强制它执行并获得整个序列的最好方法(请参阅下面Randolpho的评论,了解将强制执行序列中单个元素的其他方法)


您希望避免延迟执行的具体原因是什么?

不要忘记First()、Single()或FirstOrDefault()或SingleOrDefault()非常正确,但我认为他们希望获得整个序列。我想知道,.FirstOrDefault和类似方法是否强制执行linq查询?只是想确认一下…。@Erx_VB.NExT.Coder-是的,Randolpho在评论中提到的方法确实强制执行。为什么不希望延迟执行?