积极答复者
请教:EntityFramework 一个表对应另一个表 使用多个外键的问题!!

问题
-
/// <summary> /// 所在省份ID /// </summary> public int ProvinceID { get; set; } /// <summary> /// 所在省份 /// </summary> [ForeignKey("ProvinceID")] public Star_City Province { get; set; } /// <summary> /// 所在城市ID /// </summary> public int CityID { get; set; } /// <summary> /// 所在城市 /// </summary> [ForeignKey("CityID")] public Star_City City { get; set; } /// <summary> /// 所在县/区ID /// </summary> public int AreaID { get; set; } /// <summary> /// 所在县/区 /// </summary> [ForeignKey("AreaID")] public Star_City Area { get; set; }
错误提示:将 FOREIGN KEY 约束 'FK_Star_SiteSettings_Star_City_CityID' 引入表 'Star_SiteSettings' 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束。请参阅前面的错误消息。大家帮帮忙,比较急,谢谢!!
答案
-
- 已编辑 ThankfulHeart 2012年9月13日 3:19
- 已标记为答案 螺丝钉爱螺丝帽 2012年9月13日 3:39
-
我知道我适用的答案了
modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.Province).WithMany().HasForeignKey(f => f.ProvinceID).WillCascadeOnDelete(false); modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.City).WithMany().HasForeignKey(f => f.CityID).WillCascadeOnDelete(false); modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.Area).WithMany().HasForeignKey(f => f.AreaID).WillCascadeOnDelete(false);
- 已标记为答案 螺丝钉爱螺丝帽 2012年9月13日 3:54
全部回复
-
- 已编辑 ThankfulHeart 2012年9月13日 3:19
- 已标记为答案 螺丝钉爱螺丝帽 2012年9月13日 3:39
-
我知道我适用的答案了
modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.Province).WithMany().HasForeignKey(f => f.ProvinceID).WillCascadeOnDelete(false); modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.City).WithMany().HasForeignKey(f => f.CityID).WillCascadeOnDelete(false); modelBuilder.Entity<Star_SiteSettings>().HasRequired(s => s.Area).WithMany().HasForeignKey(f => f.AreaID).WillCascadeOnDelete(false);
- 已标记为答案 螺丝钉爱螺丝帽 2012年9月13日 3:54