Ошибка при миграции C# EntityFramework

Рейтинг: 0Ответов: 0Опубликовано: 16.08.2023

Такая вот ошибка: Ошибка

Вот код всех моделей:

public class Client
{
    public int Id { get; set; }
    public string Username { get; set; } = string.Empty;
    public string Password { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string Surname { get; set; } = string.Empty;
    public string PhoneNumber { get; set; } = string.Empty;
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
    public List<ClientTraining> ClientTrainings { get; set; }
}
public class ClientSeasonTicket
{
    public int Id { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public int VisitsNumber { get; set; }
    public SeasonTicket SeasonTicket { get; set; }
    public int SeasonTicketId { get; set; }
    public Client Client { get; set; }
    public int ClientId { get; set; }
    public Coach Coach { get; set; }
    public int? CoachId { get; set; }
    public Section Section { get; set; }
    public int SectionId { get; set; }
    public Gym Gym { get; set; }
    public int GymId { get; set; }
    public Group Group { get; set; }
    public int? GroupId { get; set; }
    public List<ClientTraining> ClientTrainings { get; set; }
}
public class ClientTraining
{
    public int Id { get; set; }
    public Training Training { get; set; }
    public int TrainingId { get; set; }
    public Client Client { get; set; }
    public int ClientId { get; set; }
    public ClientSeasonTicket ClientSeasonTicket { get; set; }
    public int ClientSeasonTicketId { get; set; }
    public TrainingVisiting Visiting { get; set; } = TrainingVisiting.NotAttend;

}
public class Coach
{
    public int Id { get; set; }
    public string Username { get; set; } = string.Empty;
    public string Password { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string Surname { get; set; } = string.Empty;
    public int PassportSeries { get; set; }
    public int PassportNumber { get; set; }
    public string PhoneNumber { get; set; } = string.Empty;
    public Section Section { get; set; }
    public int SectionId { get; set; }
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
    public List<Group> Groups { get; set; }
    public List<Training> Trainings { get; set; }
    public List<CoachContact> CoachContacts { get; set; }
}
public class CoachContact
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string Link { get; set; } = string.Empty;
    public Coach Coach { get; set; }
    public int CoachId { get; set; }
}
public class Group
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public Coach Coach { get; set; }
    public int CoachId { get; set; }
    public Section Section { get; set; }
    public int SectionId { get; set; }
    public List<Training> Trainings { get; set; }
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
}
public class Gym
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public int Number { get; set; }
    public double Area { get; set; }
    public List<Section> Sections { get; set; }
    public List<Training> Trainings { get; set; }
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
}
public class SeasonTicket
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public SeasonTicketType Type { get; set; } = SeasonTicketType.OneTime;
    public int? AvailableVisits { get; set; }
    public int Price { get; set; }
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
}
public class Section
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public List<Gym> Gyms { get; set; }
    public List<Coach> Coaches { get; set; }
    public List<ClientSeasonTicket> ClientSeasonTickets { get; set; }
    public List<Group> Groups { get; set; }
    public List<Training> Trainings { get; set; }
}
public class Training
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public DateTime Date { get; set; }
    public DateTime StartTime { get; set; }
    public DateTime Duration { get; set; }
    public string? Notes { get; set; }
    public Gym Gym { get; set; }
    public int GymId { get; set; }
    public Coach Coach { get; set; }
    public int? CoachId { get; set; }
    public Section Section { get; set; }
    public int SectionId { get; set; }
    public Group Group { get; set; }
    public int? GroupId { get; set; }
    public List<ClientTraining> ClientTrainings { get; set; }
}

Я подозреваю что это из за того, что в Groups есть внешний ключ из таблицы Sections, и так же есть внешний ключ из таблицы Coaches, которая в свою очередь так же имеет связь с таблицей Sections. А затем еще и группа связана с таблицей ClientSeasonTickets, которая так же связана с Coaches и с Sections. Может кто-нибудь объяснить в чем именно причина, чтобы я понял свою ошибку. И так же подскажите, как исправить эту пожалуйста. EntityFramework последней версии использую, СУБД - MsSQL.

Ответы

Ответов пока нет.