Entity Framework Eager Load Not Returning Data, Lazy Load Does
This is a common confusion. The opposite of lazy loading is: no loading unless you explicitly do the loading yourself (e.g. by eager loading using Include
).
So if you turn off lazy loading in any way — removing the virtual
modifier is one of them — the behaviour does not turn into eager loading but no loading.
Think of it, suppose EF would eagerly load everything that is not marked for lazy loading. You run the risk of loading half the database by doing one simple query!
There is no way to make a navigation property eager loading by default (if you'd still want that after reading the above).
You will need to use the include method to force load of the ICollections within your entities with eager loading. The follwing link might help you: http://msdn.microsoft.com/en-us/data/jj574232.aspx