我有一个实体site
,它有一个"好友网站"的概念。所以我将其定义为与自身的多对多关系
public class Site : Base
{
public DateTime EstablishedDate { get; set; }
public string Name { get; set; }
public string URL { get; set; }
public ICollection<Site> Buddies { get; set; }
}
配置:
public SiteConfig()
{
HasMany(x => x.Buddies).WithMany();
}
这一直有效,直到我尝试删除有好友网站的site
,此时我得到了引用约束错误。如何将多对多关系定义为可选(0到多个)?
答案 0 :(得分:0)
在保存更改之前尝试调用Clear
方法:
var site=Context.Sites.FirstOrDefault();
site.Buddies.Clear();// remove relationship but not entities
Context.Sites.Remove(site);
Context.SaveChanges();