0
down vote
favorite
I am using CompiledQuery.Compile method which is been pointed by a delegate (Func) as below. This query runs fine independently, however fails with error when executed in Compile method:
System.InvalidOperationException
Message - "Member access 'System.Data.Objects.DataClasses.EntityCollection`1[Assess] of Patient not legal on type 'System.Data.Objects.ObjectQuery`1 [Patient]"
Appreciate your inputs at earliest.
public Func < DataContext, DataWarehouseEntities, DateTime, DateTime, int, IEnumerable<object> >
getItems = CompiledQuery.Compile((DataContext db, DataWarehouseEntities dc, DateTime stopdate, DateTime prevModDate, int batchSize)
=> dc.Patient
.Include("M30")
.Select(a => new
{
Patient = a,
ModDate = a.Assess.Max(x => x.ModDate),
M30 = a.M30,
Assess = a.Assess,
Details = a.Assess.Select(x => new
{
x.Key,
x.Team
})
})
.Where(a => a.ModDate >= prevModDate && a.ModDate < stopdate)
.OrderBy(a => a.ModDate)
.Take(batchSize) -
.ToList()
);
What I have tried:
This query runs fine independently, however fails when running under Compile method.