Имея примеры моделей, как показано ниже:
class School
{
int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Student> Students { get; set; }
public Teacher Teacher { get; set; }
}
class Student
{
int StudentID { get; set; }
string StudentName { get; set; }
}
class Teacher
{
int TeacherId { get; set; }
bool IsOldTeacher { get; set; }
}
Мне нужно получить объект School из WebAPI, и я хочу предотвратить .Include(x => x.Students)
и .Include(x => x.Teacher)
при выборе объекта School из БД в чтобы минимизировать размер объекта, отправляемого обратно из WebAPI, и вместо этого нужно выбрать Учителя, а затем выбрать каждый включающий объект сразу после получения объекта Учителя.
Каковы лучшие методы для выбора каждого включающего объекта (в данном случае ученики и учитель) из объекта School?
Моя идея состоит в том, чтобы сначала выбрать объект School, а затем l oop через все включаемые свойства из объекта School и с помощью отражения и получения их типа , может быть, я смогу отправить запрос для каждого из типов в API и получить объекты. Однако это не кажется лучшим подходом. Есть идеи получше?