У меня есть ошибка при попытке обновить мою базу данных после добавления миграции.
Вот мои классы перед добавлением-переносом
public class Product
{
public Product() { }
public int ProductId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public bool Istaxable { get; set; }
public string DefaultImage { get; set; }
public IList<Feature> Features { get; set; }
public IList<Descriptor> Descriptors { get; set; }
public IList<Image> Images { get; set; }
public IList<Category> Categories { get; set; }
}
public class Feature
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
}
Теперь я хотел добавить внешний ключ в свой класс Feature и реорганизовать классы следующим образом:
public class Product
{
public Product() { }
public int ProductId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public bool Istaxable { get; set; }
public string DefaultImage { get; set; }
public IList<Feature> Features { get; set; }
public IList<Descriptor> Descriptors { get; set; }
public IList<Image> Images { get; set; }
public IList<Category> Categories { get; set; }
}
public class Feature
{
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Image { get; set; }
public string VideoLink { get; set; }
public int ProductId { get; set; }
public Product Product { get; set; }
}
Я добавил миграцию с помощью команды Add-Migration
.
Я добавил команду Update-Database
, и вот что я получил:
Оператор ALTER TABLE противоречил ограничениям FOREIGN KEY "FK_dbo.ProductFeatures_dbo.Products_ProductId". Конфликт произошел в базе данных "CBL", таблица "dbo.Products", столбец "ProductId"
Что я могу сделать, чтобы решить эту проблему и вернуть мои изменения в нормальное состояние?