我正在学习EF,并且在尝试创建数据库时出错。在表'ApplicationUserBuildings'上引入FOREIGN KEY约束'FK_dbo.ApplicationUserBuildings_dbo.Buildings_Building_BuildingID'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束或索引。查看以前的错误。
我理解这个错误意味着什么,但我不知道我的代码到底要做什么来摆脱if。我相信这是因为用户和建筑物以及部门和建筑物之间存在关系。这是我的代码。用户可以拥有多栋建筑,分区也可以拥有多栋建筑。
public class Division : Common.BaseModel
{
[Required]
[Key]
public int DivisionID { get; set; }
[Required]
public String Name { get; set; }
public virtual ICollection<Building> Buildings { get; set; }
}
public class Building : Common.BaseModel
{
[Required]
[Key]
public int BuildingID { get; set; }
[Required]
public String Name { get; set; }
public int DivisionID { get; set; }
public virtual Division Division { get; set; }
public virtual ICollection<ApplicationUser> ApplicationUsers { get; set; }
}
public class ApplicationUser
{
public virtual ICollection<Building> Buildings { get; set; }
public int DivisionID { get; set; }
public virtual Division Divison { get; set; }
}