I'm trying to do a left join on two entities that have navigation properties. I have disabled lazy loading.
Here is my code:
var awis =
from ai in Context.AdItems
.Include(ai => ai.Item)
.Include(ai => ai.Item.Buyer)
.Include(ai => ai.Item.OrderHeader)
.Where(ai => ai.AdYear == adYear && ai.AdNumber == adNumber)
join si in Context.StoreItems
.Include(si => si.Store)
.Where(si => si.StoreId == storeId) on ai.ItemId equals si.ItemId into x
from r in x.DefaultIfEmpty()
select new AdWeekItem
{
AdItemId = ai.AdItemId,
AdItem = ai,
StoreItemId = r == null ? 0 : r.StoreItemId,
StoreItem = r
};
The outer join works fine but I do not have my navigation properties included in the projected AdWeekItem
.
That is, AdWeekItem.AdItem.Item
is null, etc.
How do I include these navigation properties and do a left outer join?