Загружать связанные сущности с помощью одного .Include () в Entity Framework? - PullRequest
0 голосов
/ 13 февраля 2020

Есть ли лучший способ загрузить все связанные объекты?

Ниже приведен класс ScholarshipRequest, который также имеет стипендию, статус, студента, программу и пользователя.

public class ScholarshipRequest
    {
        public int Id { get; set; }
        public int Year { get; set; }
        public Status Status { get; set; }
        public DateTime ApplicationDate { get; set; }
        public DateTime ActionDate { get; set; }
        public Scholarship Scholarship { get; set; }
        public Program Program { get; set; }
        public Student Student { get; set; }
        public User User { get; set; }
    }

Я просто публикуем здесь класс стипендии, остальные похожи.

public class Scholarship
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

Приведенный ниже код работает нормально, но есть лучший способ, где я могу использовать один .Include (), чтобы загрузить их все или может быть как-нибудь иначе?

ScholarshipRequestRepository repo = new ScholarshipRequestRepository(dBContext);
List<ScholarshipRequest> stdList = repo.Collection()
                .Include("Status").Include("Student").Include("User").Include("Scholarship")
                .Where(x => x.User.Id == userId).ToList();
...