EF подгрузка вложенных коллекций

134
16 сентября 2019, 08:00

Приложение asp.net core. Имеется следующий список моделей:

public class Year
{
    public int Id { get; set; }
    public string Name { get; set; }
    // ex. 2014-2015, 2018-2019
    public bool IsSemestr { get; set; }
    public int PartOfYear { get; set; }
    public List<Group> Groups { get; set; }
}
public class Group
{
    public int Id { get; set; }
    public string NameGroup { get; set; }
    public virtual List<Student> Students { get; set; }
}
public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool Debt { get; set; }
    public virtual List<Subject> Subjects { get; set; }
}
public class Subject
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string ExamType { get; set; }
    public double Credits { get; set; }
    public double Hours { get; set; }
    public string Lecture { get; set; }
    public int Score { get; set; }
    public string DateDebt { get; set; }
}

А также следующий контекст БД:

public class UniversityContext : DbContext
{
    public DbSet<Year> Years { get; set; }

    public UniversityContext(DbContextOptions<UniversityContext> options)
        : base(options)
    {
        Database.EnsureCreated();
    }
}

В контроллер передается имя студента, которого необходимо найти в БД. И тут появляется проблема. Данные в БД присутствуют, я смотрел в обозревателе SQL, но они не подгружаются, загружается только класс Year, а все остальные вложенные коллекции равны null. Как исправить проблему, подтягиваю данные с БД в контроллере следующим кодом:

   public string Get(string discipline, string student, string group, string time)
    {
        if(student != null)
        {
            IEnumerable<Year> fYear = context.Years;

            View("byName.cshtml", fYear.First().Groups[0].Students[0]);
        }
        return "hi";
    }

READ ALSO
Не вылазит окно с оплатой google play

Не вылазит окно с оплатой google play

Решил сделать свой донатный магазин в игре на unityЗарегестрировал в консоли гугл плей свои товары, сделал их активными

104
EF. Fluent API. Указание связей между таблицами

EF. Fluent API. Указание связей между таблицами

Вопрос по дизайну более, чем по какой-то проблемеКак правильно указывать связи между таблицами

122
Обратиться из UserControl к MainWindow MVVM

Обратиться из UserControl к MainWindow MVVM

Подскажите, вот у меня есть UserControl на нем listBox, при нажатии на Item необходимо помещать Page во Frame Content главной формы (MainWindow)Как такое можно провернуть?

109