Я начал работать над текущим проектом, и он имеет отношение «многие ко многим» в базе данных и некоторых частях кода, но я понял, что даже отношение «многие ко многим» в модели существует всегда только одна строка, связывающая две сущности (подтверждено автором). Вот что я имею в виду: две сущности - это задача и список задач, а задача принадлежит только списку задач. Модели ниже:
public class ProjectTask
{
public long Id { get; set; }
// other non related properties
}
public class ProjectTaskList
{
public long Id { get; set; }
public DateTime? DateEnd { get; set; }
// other non related properties
}
// link between task list and task
public class ProjectTaskListTask
{
public long ProjectTaskId { get; set; }
public ProjectTask ProjectTask { get; set; }
public long ProjectTaskListId { get; set; }
public ProjectTaskList ProjectTaskList { get; set; }
public int Order { get; set; }
}
И его конфигурация в методе OnModelCreating
класса контекста:
modelBuilder.Entity<ProjectTaskListTask>()
.HasKey(a => new { a.ProjectTaskId, a.ProjectTaskListId });
modelBuilder.Entity<ProjectTaskListTask>()
.HasOne(u => u.ProjectTaskList)
.WithMany(u => u.Tasks)
.IsRequired()
.OnDelete(DeleteBehavior.Restrict);
Моя проблема: в некоторых частях моего кода мне нужно знать список задач для задачи, мне нужно использовать его в Where
запросах для выполнения некоторых проверок, например: Tasks.Where(p => p.TaskList.DateEnd == null)
.
Как добавить свойство Not Mapped к сущности ProjectTask
, чтобы я мог это сделать? Я использую Entity Framework Core 2.
Спасибо за любую помощь