How can I make sure my LINQ queries execute when called in my DAL, not in a delayed fashion?

跟風遠走 提交于 2019-12-01 15:25:17

问题


I have a DAL that is composed of a bunch of methods that perform LINQ queries on my database.

How do I ensure that before returning say an IEnumberable or something similar from the database, I ensure that the LINQ query is execute then, not in some delayed fashion only to be executed when the result is used?

I know I can call .ToList() on my result in my methods to force it to execute, but is this the best way?


回答1:


Calling ToList or ToArray really is the best way to force it to execute and get the entire sequence (see Randolpho's comment below for other methods that will force execution for single elements of the sequence).

Is there a specific reason you would want to avoid deferred excution?



来源:https://stackoverflow.com/questions/1013201/how-can-i-make-sure-my-linq-queries-execute-when-called-in-my-dal-not-in-a-dela

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!