В EF Core 5 добавлено дополнительное свойство, позволяющее ссылаться на отношения многие ко многим.

У меня есть следующий код, который показывает отношения "многие ко многим". Опрос может зависеть от другого опроса. У нас есть некоторые типы зависимостей (Manual, OnComplete и т. Д.), Таким образом, DependencyTypeId в объединенной таблице (например, опрос B зависит от опроса A, и только после завершения опроса A может быть запущен опрос B. после завершения опроса A можно начинать опрос C)

public class Survey
{
    public Survey()
    {
        SourceSurveys = new HashSet<Survey>();
        TargetSurveys = new HashSet<Survey>();
    }

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long Id { get; set; }

    [Required]
    public string Name { get; set; }

    public virtual ICollection<Survey> SourceSurveys { get; set; }
    public virtual ICollection<Survey> TargetSurveys { get; set; }
}

public class SurveyDependency
{
    public long SourceSurveyId { get; set; }
    public Survey SourceSurvey { get; set; }

    public long TargetSurveyId { get; set; }
    public Survey TargetSurvey { get; set; }

    public long DependencyTypeId { get; set; }     
}

Это прекрасно работает в EF Core 3.1. Я начал обновление до EF Core 5, и я хочу исключить таблицу соединений, поскольку EF Core 5 поддерживает m2m без необходимости указывать таблицу соединений, а для простоты и управляемости (слишком много связей m2m в моей системе) я решил перейти на EF Сердечник 5 м2м. Мой вопрос в том, где мне поставить public long DependencyTypeId { get; set; } теперь, когда я удалил таблицу соединений SurveyDependency.

0 ответов

Другие вопросы по тегам