Попытка настроить отношение «один ко многим» с помощью EF Core 2.1.и Fluent Api
Это моя конфигурация
modelBuilder.Entity<ProductCategory>().Property(prop => prop.ParentCategoryId).HasDefaultValue(null);
modelBuilder.Entity<ProductCategory>()
.HasOne(principal => principal.ParentCategory)
.WithMany(dependent => dependent.ProductCategories)
.HasForeignKey(fk => fk.ParentCategoryId)
.IsRequired(false)
.OnDelete(DeleteBehavior.SetNull);
А это модель
public class ProductCategory
{
public short Id { get; internal set; }
public string Name { get; internal set; }
public string Description { get; internal set; }
public short? ParentCategoryId { get; internal set; }
public ProductCategory ParentCategory { get; internal set; }
public IEnumerable<Product> Products { get; internal set; }
public IEnumerable<ProductCategory> ProductCategories { get; internal set; }
}
При запуске
Add-MigrationИмя
Я получаю это исключение
Введение ограничения FOREIGN KEY 'FK_ProductCategories_ProductCategories_ParentCategoryId' в таблице 'ProductCategories' может вызвать циклы или несколько каскадных путей.Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION, либо измените другие ограничения FOREIGN KEY.Не удалось создать ограничение или индекс.Смотрите предыдущие ошибки.
Что я делаю не так?Какое решение?