class Taak :
[Key]
public int TaakId { get; set; }
public int Pid { get; private set; }
[Required]
[Range(0,23.5)]
public double Uur { get; private set; }
[Required]
public Functie Functie { get; private set; }
public List<Taak> Taken { get; private set; }
[NotMapped]
public ICollection<WerknemerTaak> Werknemers { get; set; }
class WerknemerTaak:
[Required]
public Werknemer Werknemer { get; set; }
[Required]
public Taak Taak { get; set; }
public Afdelingen Afdeling { get; set; }
public string Taakbeschrijving { get; set; }
ReadAllTakenWthWerknemers :
public List<Werknemer> ReadAllWerknemersWithTaken()
{
var taken = ctx.Werknemers
.Include(x => x.Taken)
.ThenInclude(x => x.Taak)
.ToList();
return taken;
}
Program.cs
_mgr.GetAllWerknemersWithTaken().ForEach(x =>
{
Console.WriteLine(x.ToString());
Console.WriteLine("Waarvan de taken zijn:");
x.Taken.ToList().ForEach(t =>
{
Console.WriteLine("\t"+t.Taak.ToString());
});
});
The error that I am getting is as follows:
The expression 'x.Taken' is invalid inside an 'Include' operation, since it does not represent a property access: 't => t.MyProperty'.
I tried adding Where(t => t.Werknemer.Pid.Equals(t.Taak.Pid))), with no luck at all. I searched for others with same problem, But didn't find an answer for me. And I need to use eager loading.