Deferred execution
One important thing to remember when working with LINQ to Entities is the deferred execution of LINQ.
Standard query operators differ in the timing of their execution depending on whether they return an aggregation value or a sequence of values. Those methods that return an aggregation value (for example, Average
and Sum
) execute immediately. Methods that return a sequence defer the query execution and return an enumerable object. These methods do not consume the target data until the query object is enumerated. This is known as deferred execution.
Checking deferred execution with SQL Profiler
To test the deferred execution of LINQ to Entities, let's first add the following method to our Program.cs
file:
static void TestDeferredExecution() ...
Get WCF Multi-layer Services Development with Entity Framework Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.