我有一个具有"好友站点"概念的实体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到许多关系)?
在保存更改之前尝试调用Clear
方法:
var site=Context.Sites.FirstOrDefault();
site.Buddies.Clear();// remove relationship but not entities
Context.Sites.Remove(site);
Context.SaveChanges();