Использование include для привязки коллекции к модели

138
06 ноября 2019, 09:30

Есть 2 модели.

Subject:

public class Subject
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Diary> Diaries { get; set; }
    public Subject()
    {
        Diaries = new List<Diary>();
    }
}

Diary:

public class Diary
{
    public int Id { get; set; }
    public DateTime EvaluationDate { get; set; }
    public int SubjectId { get; set; }
    public virtual Subject Subject { get; set; }
    public int UserId { get; set; }
    public virtual User User { get; set; }
}

Я хочу вытащить все предметы что у меня есть в таблице subject и привязать к каждому коллекцию diaries.

И это делается по сути не сложно:

IEnumerable<Subject> subjects = db.Subjects.Include(i => i.Diaries).ToList();

Но мне нужно что бы в каждый предмет вошли записи из таблицы diary ограниченные временным промежутком и для определённого пользователя. Пытаюсь сделать это вот таким вот способом:

IEnumerable<Subject> subjects = db.Subjects
    .Include(i => i.Diaries.Where(d => d.EvaluationDate >= startDate
                                    && d.EvaluationDate < endDate
                                    && d.UserId == userId))
    .ToList();

Но при таком варианте выходит ошибка.

The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties. Имя параметра: path

Подскажите пожалуйста что я делаю не так? И как можно добиться что бы запрос выполнялся так как я его задумал?

READ ALSO
Вращение объекта вокруг его точки Uniity

Вращение объекта вокруг его точки Uniity

Сделал я в итоге вращение вокруг точки с помощью засовывания в пустой объектВ пустом объекте создал Box Collider и разместил его вот так:

114
C# PowerPoint создать фотоальбом

C# PowerPoint создать фотоальбом

Всем привет, кто нибудь знает как в powerpoint создать фото альбом программно на C# ???

138
MVC C# DropDownListFor установка и получение значения

MVC C# DropDownListFor установка и получение значения

Пересмотрел кучу кода по MVC, Везде примера на 500 строчек кода минимум

149