I don't see why ...
var list = context.Trainings.Include(t => t.Persons)
.Where(t => t.Name == someName)
.ToList();
... shouldn't work. EF should populate the Persons
list with concrete Student
and Instructor
entities.
You neither have a "one-to-zero-or-one relationship" nor is your navigation property (Training.Persons
) "on the derived class". So, I think the mentioned limitation does not apply to your model and query.