我的文章课中有这个:
public int GalleryID { get; set; }
public virtual Gallery Gallery { get; set; }
这是我的画廊课程:
public class Gallery
{
public int GalleryId { get; set; }
public string Name { get; set; }
public virtual ICollection<Photo> Photos { get; set; }
}
当我在存储库中删除库时:
public virtual void Delete(int id)
{
T entity = dbset.Find(id);
dbset.Remove(entity);
dataContext.SaveChanges();
}
我也删除了文章,但这不是我想要的。我想保留文章(只是将galleryId设置为0 a,将gallery设置为null。谢谢
答案 0 :(得分:1)
在你的artical中使外键可以为空
public int? GalleryID { get; set; }
在删除图库时,您需要清除其文章集
public void DeleteGallery(int id)
{
var entity = dataContext.Galleries
.Include(e => e.Articles) // include your child object collection
.First(e => e.Id == id);
dataContext.Galleries.Articles.Clear(); // this removes the reference to the parent
dataContext.Galleries.Remove(entity);
dataContext.SaveChanges();
}