“在表'AttendanceSheets'上引入FOREIGN KEY约束'FK_dbo.AttendanceSheets_dbo.AdulLiteracyTeachers_ALTName'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。\ r \ nCould不创建约束。请参阅先前的错误。“}
public class AttendanceSheet
{
[Required]
[Key]
public int Attendanceid { get; set; }
[DisplayName("District")]
[ForeignKey("District")]
public int DistID { get; set; }
public virtual District District { get; set; }
[DisplayName("District")]
[ForeignKey("AdulLiteracyTeachers")]
public int ALTName { get; set; }
public virtual AdulLiteracyTeachers AdulLiteracyTeachers { get; set; }
[DisplayName("Month")]
public int Month { get; set; }
[DisplayName("Number Of Days")]
public int Attandence { get; set; }
}
在使用实体框架添加控制器时出现上述错误。目的是为了获得奖励,我想要整个教师名单。我正在使用教师名称的foriegn键
答案 0 :(得分:0)
在您的数据上下文文件中添加
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
}
下面你定义了DbSet。
当有多个路径通过外键从另一个实体上删除时会发生这种情况。
例如
EntityA - EntityB - EntityC - EntityD
EntityA - EntityC - EntityD
EntityA - EntityD
有多个路径可以删除相关的EntityD,sql server不允许这样做。