I know that the execution of query with IEnumerable is deferred until an item(s) in IEnumerable is read. 

When I pause the following code in the **second** line, I can see that the query is executed in the database through SQL Profiler. I thought the query should be executed in the database when the **third** line is executed:

```
1 IEnumerable<Item> items = dbContext.Items;
2 var a = 0;
3 gridview.DataSource= items.ToList();
4 gridview.DataBind();

```

Can anyone explain why it is behaving like this?