1

I'm using code first. I'm trying to implement many to many relationship in Asp.net core with .Net 6.

my Order Model:

...
...
public virtual ICollection<Product> Products { get; set; }

my Product Model:

...
...
public virtual ICollection<Order> Orders { get; set; }

When I was trying to update database got this error:

Introducing FOREIGN KEY constraint 'FK_ProductOrder_Orders_OrdersID' on table 'ProductOrder' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

1 Answers1

0

Its basically saying when you delete an order you need to have a deletion strategy for the associated products. You can try this in your Configure method.

entity.HasOne(d => d.Order)
                    .WithMany(p => p.Product)
                    .HasForeignKey(d => d.OrderId)
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("FK_ProductOrder_Orders_OrdersID");

Sql

CONSTRAINT [FK_ProductOrder_Orders_OrdersID] FOREIGN KEY ([OrderId]) REFERENCES Product ([OrderId]) ON DELETE CASCADE
Rob Smitha
  • 366
  • 5
  • 8