I have three entities generated by Entity Framework. One is event
and this contains navigation properties called frogs
and user_bookings
. I posted a related question before about performing a sub-query which seems to work but it prevents me overriding lazy loading of a property.
var evts = from evt in context.events.Include("frogs")
where evt.event_id < 10
select evt;
This works - the navigation property frogs
gets loaded.
However, when I alter the LINQ to this:
var evts = from evt in context.events.Include("frogs")
where evt.event_id < 10
select new
{
Event = evt,
HasBooked = evt.user_bookings.Any(x => x.user_id == 1)
};
I get an error trying to access the frogs
because the ObjectContext no longer exists. I tried removing virtual from the class definition for the event
class, but this just results in an empty list of frogs, when they are definitely there!