Ошибка правильная.
Include
находится на ObjectQuery<T>
, который вы запрашиваете, в данном случае «Студенты».
Country
- это навигационное свойство Person
, а не Student
.
Измените свой код следующим образом:
this.ObjectContext.Students.Include("Person").Include("Person.Country");
Или просто:
this.ObjectContext.Students.Include("Person.Country");
Поскольку EF автоматически включает "Person" на основевложенное включение.
Вы должны помнить, что Include
возвращает ObjectQuery<T>
на основе ObjectQuery<T>
, на который оно было вызвано.
Так что только потому, что вы делаете Students.Include("Person")
, этоне означает в этот момент, переменная ObjectQuery<Person>
- переменная по-прежнему ObjectQuery<Student>
.