EF忽略了ON DELETE级联的流畅API

本文关键字:API 级联 DELETE ON EF | 更新日期: 2023-09-27 18:16:29

我有这样的代码:

  modelBuilder.Entity<ProductDetails>()
          .HasRequired(c => c.Product)
          .WithMany()
          .WillCascadeOnDelete(false);

但是当我检查生成的表定义时,我看到:

 CONSTRAINT [FK_dbo.ProductDetails_dbo.Product_ProductId] FOREIGN KEY ([ProductId]) REFERENCES [dbo].[Product] ([Id]) ON DELETE CASCADE

我错过了什么?为什么要创建ON DELETE CASCADE ?

EF忽略了ON DELETE级联的流畅API

我认为上面的语法中有EF的问题。当我像下面描述的那样反转定义时,它工作了:

  modelBuilder
         .Entity<Product>()
         .HasMany(p => p.Details)
         .WithRequired()
         .WillCascadeOnDelete(false);