首页 > 解决方案 > 为什么更改 OnDelete 行为会生成空迁移?

问题描述

我有一个模型,其中我之前定义了一个一对一的关系,例如:

modelBuilder.Entity<Parent>()
            .HasOne(parent => parent.Info)
            .WithOne(info => info.Parent)
            .OnDelete(DeleteBehavior.Restrict);

它使用如下外键生成迁移:

                    table.ForeignKey(
                        name: "FK_Info_Parent_ParentId",
                        column: x => x.ParentId,
                        principalTable: "Info",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);

正如我所看到的,一对一的关系不必在删除时受到限制,所以我想将关系更改为删除时的级联:

          .OnDelete(DeleteBehavior.Cascade);

但是,当我为此更改生成新迁移时,Up() 和 Down() 都是空的。可能是什么原因?

标签: c#entity-framework-coreef-core-2.2

解决方案


推荐阅读