首页 新闻 赞助 找找看

EF,当子对象个数为0时,如何自动删除父对象

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-11-01 00:33

要做一个简单的文档系统,要有文档的更新功能,同时要保留历史版本。
所以我建了两个表,Documents和DocumentUnits,Documents是表示抽象的不分版本的文档,DocumentUnits表示具体的文档。所以Documents与DocumentUnits是1对多的关系。
这样,如果要删除DocumentUnits,当Units删除到0时,就要删除Document对象。
也就是说,怎么做到,只要调用context.DocumentUnits.Remove(documentUnit); context.SaveChanges();就能自动处理这一逻辑呢?我考虑重写SaveChanges()方法,但是不知道怎么写。

草船上的稻草人的主页 草船上的稻草人 | 初学一级 | 园豆:166
提问于:2012-09-25 19:24
< >
分享
所有回答(1)
0

 context.DocumentUnits.Remove(documentUnit)

这样删除怎么跟Documents 联系起来呢?

先找到 Documents,再在Documents里面找DocumentUnits

类似:

var findDoc=context.Documents.FirstOrDefault(f=>f.Id==1);

if(findDoc!=null)

{

    findDoc.DocumentUnits.Remove(documentUnit);

    if(findDoc.DocumentUnits.Count()==0)

     context.Documents.Remove(findDoc);

     context.SaveChanges();

}

Qlin | 园豆:2403 (老鸟四级) | 2012-09-26 09:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册