错误:引入FOREIGN KEY约束可能会导致循环或多个级联路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误:引入FOREIGN KEY约束可能会导致循环或多个级联路径相关的知识,希望对你有一定的参考价值。

主人的快速问题。

我有2个EF模型类:

public class School
{
        public int Id { get; set; }
        [DisplayName("School")]
        public string Name { get; set; }

        public List<Teacher> Teachers { get; set; }
        public List<Note> Notes { get; set; }
}

public class Teacher
{
    public int Id { get; set; }
    [DisplayName("Öğretmen")]
    public string Name { get; set; }
    public int SchoolId { get; set; }

    public School School { get; set; }
    public List<Note> Notes { get; set; }
}

基本上我想在代码优先创建一对多的关系。

但是当我尝试这样做时,我收到了这个错误:

在'教师'表上引入FOREIGN KEY约束'FK_dbo.Teachers_dbo.Schools_SchoolId'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。

我哪里弄错了?

编辑

  public class Note
    {
        public int Id { get; set; }
        [Required,DisplayName("Başlık"), StringLength(50)]
        public string Title { get; set; }
        [Required,DisplayName("Açıklama"), StringLength(4000)]
        public string Description { get; set; }
        public string File { get; set; }
        public DateTime UploadDate { get; set; }
        public bool IsApproved { get; set; }
        public int SchoolId { get; set; }
        public int OwnerId { get; set; }
        public int TeacherId { get; set; }


        //Keys

        public School School { get; set; }
        public Teacher Teacher { get; set; }
        public List<Comment> Comments { get; set; }
    }

我没有得到这个模型和键的任何错误..

答案

删除从Note到School的关系,反之亦然。你可以通过与笔记有关系的老师来学校。

它会产生你的问题。

以上是关于错误:引入FOREIGN KEY约束可能会导致循环或多个级联路径的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework Core 5 - 在表上引入 FOREIGN KEY 约束可能会导致循环或多个级联路径

在表“ReservedSeats”上引入 FOREIGN KEY 约束“FK_ReservedSeats_Seats_SeatId”可能会导致循环或多个级联路径

ASP.Net MVC 3 EF“在表上引入 FOREIGN KEY 约束可能会导致循环或多个级联路径”

在表“tblMaintenance”上引入 FOREIGN KEY 约束“FK2CustomerId”可能会导致循环或多个级联路径

可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束

SQL Server 引入 FOREIGN KEY 约束可能导致循环或多个级联路径