【发布时间】:2021-08-24 17:12:28
【问题描述】:
我正在尝试更新我的数据库,但出现以下错误:
在表“StudentAnnouncements”上引入 FOREIGN KEY 约束“FK_StudentAnnouncements_Students_StudentId”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
当我尝试使用更新我的数据库时收到此错误 dotnet ef 数据库更新
我在 student 和 StudentAnnouncement 之间有一对多的关系。 部分学生实体如下:
public class Student
{
public int Id { get; set; }
public virtual ICollection<StudentAnnouncement> StudentAnnouncements { get; set; }
}
我的 StudentAnnouncement 实体的一部分如下:
public class StudentAnnouncement
{
public int Id { get; set; }
public virtual Student Student { get; set; }
}
在我的数据库上下文类中,我有以下代码:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<StudentAnnouncement>()
.HasOne(x => x.Student)
.WithMany(y => y.StudentAnnouncements)
.OnDelete(DeleteBehavior.Cascade);
}
我尝试使用 IsRequired 而不是 OnDelete Cascade,如下所示,我得到了同样的错误
modelBuilder.Entity<StudentAnnouncement>()
.HasOne(x => x.Class)
.WithMany(y => y.StudentAnnouncements)
.IsRequired();
【问题讨论】:
标签: asp.net-core entity-framework-core