Does linq to sql automatically lazy load associated entities?
I would think it would but I can't find an article stating it as such.
It depends how you define "lazy-load".
If you say
var person = (from p in db.People
where p.PersonId = pid
select p).First();
var spouse = person.Spouse; // based on the SpouseId FK
// back into the People table.
Then that would be precisely "lazying loading" as the second object is not pulled from the database until it is referenced. This however, will require two database queries.
However, if you were to say,
var family = (from p in db.People
where p.PersonId = pid
select new
{
Name = p.Name,
SpouseName = p.Spouse.Name
}).First();
Then Linq will automatically do the join and load the information from both records in a single database query.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With