I have this query
var test = context.Assignments
.Include(a => a.Customer)
.Include(a => a.Subscriptions)
.Select(a => new AssignmentWithSubscriptionCount { SubscriptionCount = a.Subscriptions.Count(), Assignment = a })
.ToList();
var name = test.First().Assignment.Customer.Name;
It failes to eagerly load Customer, I've seen similar problems here on stackoverflow and it looks like you cant use projections with include. But I have not found a solution to my problem.. Anyone?
edit: Here is a eager load with projection that work, its more complex than the example above so I cant for my life understand whats wrong, thanks.
var test = context.PublicationStateGroups
.Include(p => p.PublicationStates.Select(ps => ps.AllowedPublicationStateActions.Select(aps => aps.PublicationStateAction)))
.Select(psg => new StateAndGroupInfo
{
ShowReport = psg.PublicationStates.Any(p => p.PublicationStateReportTypeId.HasValue),
Actions = psg.PublicationStates.SelectMany(state => state.AllowedPublicationStateActions)
.Select(a => a.PublicationStateAction)
.Distinct()
}).ToList();
var eagerTest = test.First().Actions.First().Name;
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…