Итак, у меня есть зависимый объект ArtItem
с родительским классом Location
, который является зависимым объектом Company
, который является зависимым объектом Country
. ArtItem
также зависит от Artist
, а Artist
зависит от Country
.
public class Country
{
[Required]
public int Id { get; set; }
}
public class Company
{
public Country Country { get; set; }
[Required]
public int CountryId { get; set; }
[Required]
public int Id { get; set; }
}
public class Location
{
[Required]
public int Id { get; set; }
public Company Company { get; set; }
public int CompanyId { get; set; }
//public List<ArtItem> ArtItems { get; set; }
}
public class ArtItem
{
public Artist Artist { get; set; }
public int ArtistId { get; set; }
[Required]
public int Id { get; set; }
public Location Location { get; set; }
[Required]
public int LocationId { get; set; }
}
public class Artist
{
public Country Country { get; set; }
[Required]
public int CountryId { get; set; }
[Required]
public int Id { get; set; }
}
Моя проблема заключается в том, что всякий раз, когда я пытаюсь выполнить update-database в powershell, я получаю сообщение об ошибке Introducing FOREIGN KEY constraint 'FK_ArtItems_Locations_LocationId' on table 'ArtItems' may cause cycles or multiple cascade paths.
.
Я пытался настроить отношения в своем классе DbContext
, .
, но безрезультатно. Я просто не понимаю, как я должен настраивать отношения в EF Core или как работает modelBuilder
. Я был бы очень признателен за объяснение того, как избежать этой ошибки и что на самом деле вызывает ее. Я думал, что для правильной генерации отношений EF Core будет достаточно иметь свойство навигации и определенный внешний ключ. Я попробовал онлайн-документацию для EF Core, но безрезультатно.
Помощь очень ценится.
Заранее спасибо.