Основная проблема внешнего ключа Entity Framework - PullRequest
0 голосов
/ 19 июня 2019

У меня возникла следующая проблема при попытке запустить update-database -verbose:

Введение ограничения FOREIGN KEY 'FK_Customizations_Specifications_SpecificationId' для таблицы 'Customizations' может привести к циклам или нескольким каскадным путям.Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION, либо измените другие ограничения FOREIGN KEY.Не удалось создать ограничение или индекс.См. Предыдущие ошибки.

Классы следующие:

public class Specification : BaseEntity
{
    public double Km { get; set; }
    public double Price { get; set; }
    public SpecificationType Type { get; set; }
    public string Notes { get; set; }
    public bool IsLeasing { get; set; }
    public DateTime? EndLeasingDate { get; set; }
    public string LeasingCompany { get; set; }
    public DateTime? ExpectedDeliveryToReseller { get; set; }
    public DateTime? ActualDeliveryToReseller { get; set; }
    public DateTime? ExpectedDeliveryToCustomer { get; set; }
    public DateTime? ActualDeliveryToCustomer { get; set; }

    public ICollection<Customization> Customizations { get; set; }
    public int VehicleId { get; set; }
    public Vehicle Vehicle { get; set; }
    public int ContractId { get; set; }
    public Contract Contract { get; set; }
}
public class Customization : BaseEntity
{
    public string Description { get; set; }
    public DateTime? ExpectedStartDate { get; set; }
    public DateTime? ExpectedEndDate { get; set; }
    public DateTime? ActualStartDate { get; set; }
    public DateTime? ActualEndDate { get; set; }
    public decimal Price { get; set; }

    public int SpecificationId { get; set; }
    public Specification Specification { get; set; }
    public int ContactId { get; set; }
    public Contact Contact { get; set; }
}

Теперь я могу понять, что наличие SpecificationId внутри настройки может создать некоторые проблемы, но чтение здесьConvenction4 говорят, что я могу это сделать.Что мне не хватает?Может быть, они забыли, что я должен что-то добавить в OnModelCreating?

...