Здравствуйте! Начал переносить проект на ASPNetCore MVC. Столкнулся с проблемой миграции базы данных при внесении новых 2-ух связей 1 ко многим. Решил освежить знания Entity Framework и указывать все связи явно через атрибуты.
public class Station : IEntitie
{
[Key]
public int Id { get; set; }
[Required(ErrorMessage = "Введите Ecp код станции")]
public int EcpCode { get; set; }
[Required(ErrorMessage = "Введите название станции")]
public string Name { get; set; }
public string Description { get; set; }
//добавляю!!!
public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDispatchStations { get; set; }
//добавляю!!!
public virtual ICollection<RegulatorySchedule> RegulatoryScheduleDestinationStations { get; set; }
}
public class RegulatorySchedule : IEntitie
{
[Key]
public int Id { get; set; }
[Required]
[MaxLength(10)]
public string NumberOfTrain { get; set; } //Номер поезда в расписании
[MaxLength(100)]
public string RouteName { get; set; } //Станция отправления и станция назначения, а также фирменное название поезда, если есть.
public string DaysFollowings { get; set; } //Дни следования поезда(ежедневно, четные, по рабочим и т.п.)
[Column(TypeName = "datetime2")]
public DateTime? ArrivalTime { get; set; } //Время прибытия поезда на станцию
[Column(TypeName = "datetime2")]
public DateTime? DepartureTime { get; set; } //Время отправления поезда со станции
//добавляю!!!
public int DispatchId { get; set; }
[InverseProperty("RegulatoryScheduleDispatchStations")]
[ForeignKey("DispatchId")]
public virtual Station DispatchStation { get; set; } //Станция отправления
//добавляю!!!
public int DestinationId { get; set; }
[InverseProperty("RegulatoryScheduleDestinationStations")]
[ForeignKey("DestinationId")]
public virtual Station DestinationStation { get; set; } //Станция назначения
}
Пытаюсь явно задать FK и связь с зависимой таблице через InverseProperty. Но при миграции вылазит ошибка:
"Introducing FOREIGN KEY constraint 'FK_RegulatorySchedules_Stations_DestinationId' on table 'RegulatorySchedules' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints."
Подскажите что не так?
Изменил:
RegulatorySchedule
public int DispatchId { get; set; }
[ForeignKey("DispatchId")]
public virtual Station DispatchStation { get; set; } //Станция отправления
public int DestinationId { get; set; }
[ForeignKey("DestinationId")]
public virtual Station DestinationStation { get; set; } //Станция назначения
Station
[ForeignKey("DispatchId")]
public virtual ICollection<RegulatorySchedule> RegulatorySchedulesDispatchStation { get; set; }
[ForeignKey("DestinationId")]
public virtual ICollection<RegulatorySchedule> RegulatorySchedulesDestinationStation { get; set; }
тоже вылазит ошибка при миграции
"Unable to determine the relationship represented by navigation property 'RegulatorySchedule.DispatchStation' of type 'Station'. Either manually configure the relationship, or ignore this property from the model."
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости