转载于 EFCore——单向导航属性(11)_有诗亦有远方的博客-CSDN博客
作者写的比较通俗易懂, 想表达的差不多。
改正原文报错
下面为报错:
将 FOREIGN KEY 约束 'FK_T_Leaves_T_Users_RatifyPersonId' 引入表 'T_Leaves' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束。请参阅前面的错误消息。
解决办法
如果实体 出现两个或以上 user属性 必须在从第一个后 每个加上 .OnDelete(DeleteBehavior.Restrict)
如下:
builder.ToTable("T_Leaves");
builder.HasOne<User>(e => e.LeavePerson).WithMany().IsRequired();
builder.HasOne<User>(e => e.RatifyPerson).WithMany().OnDelete(DeleteBehavior.Restrict);
builder.HasOne<User>(e => e.RatifyPerson2).WithMany().OnDelete(DeleteBehavior.Restrict);
builder.HasOne<User>(e => e.RatifyPerson3).WithMany().OnDelete(DeleteBehavior.Restrict);