0

I have a employee class. In employee class I have a division class and in division class I have a list of departments. How to avoid fk constraints? I always encounter this error. Introducing FOREIGN KEY constraint 'FK_Employee_Divisions_DivisionId' on table 'Employee' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. Could not create constraint. See previous errors.

this is my class: public class Employee { public int Id { get; set; } public Division Division { get; set; } public int DivisionId { get; set; } public Department Department { get; set; } public int DepartmentId { get; set; } //public UserModel? UserModel { get; set; } //public int UserModelId { get; set; } }

 public class Division
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public int DivisionId { get; set; }
    public List<Department>? Departments { get; set; }
 
}
public class Department
{
    public int Id { get; set; }
    public int DivisionId { get; set; }
    [ForeignKey("DivisionId")]
    public string Name { get; set; } = string.Empty;
    public string Description { get; set; } = string.Empty;
}

    datacontext:
     public EmployeeMasterServerContext(DbContextOptions<EmployeeMasterServerContext> options)
        : base(options)
    {
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
       

        modelBuilder.Entity<Division>().HasData(
             new Division { Id = 1, DivisionId = 1, Name = "FAMS" },
             new Division { Id = 2, DivisionId = 2, Name = "LOG" },
             new Division { Id = 3, DivisionId = 3, Name = "SOD" },
             new Division { Id = 4, DivisionId = 4, Name = "CAD" },
             new Division { Id = 5, DivisionId = 5, Name = "AGRO" }
            );
        modelBuilder.Entity<Department>().HasData(
             new Department { Id = 1,  Name = "IT",             DivisionId = 1 },
             new Department { Id = 2,  Name = "OPD",            DivisionId = 1 },
             new Department { Id = 6,  Name = "IPPR",           DivisionId = 2 },
             new Department { Id = 7,  Name = "Transport",      DivisionId = 2 },
             new Department { Id = 12, Name = "UFS",            DivisionId = 3 },
             new Department { Id = 13, Name = "URIC",           DivisionId = 3 },
             new Department { Id = 14, Name = "HR",             DivisionId = 4 },
             new Department { Id = 15, Name = "SSHE",           DivisionId = 4 },
             new Department { Id = 16, Name = "OPD",            DivisionId = 5 },
             new Department { Id = 17, Name = "Transport",      DivisionId = 5 },
         );
    }

    public DbSet<Employee> Employee { get; set; }
    public DbSet<Division> Divisions { get; set; }
    public DbSet<Department> Departments { get; set; }
}
Mhey
  • 1
  • 1

0 Answers0