首页 新闻 会员 周边 捐助

Entity Framework 一对多对象 子对象删除

0
悬赏园豆:50 [已关闭问题] 关闭于 2011-09-20 09:37

如何做?

var standardChemicalElement = this.DataContext.StandardChemicalElement.First(s => s.StandardChemicalElementId == id);
standardChemicalElement.ChemicalElementItems.Clear();
this.DataContext.SaveChanges();

以上代码结果

"操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null。对关系作出更改后,会将相关的外键属性设置为 null 值。如果外键不支持 null 值,则必须定义新的关系,必须向外键属性分配另一个非 null 值,或必须删除无关的对象。"

bombw的主页 bombw | 菜鸟二级 | 园豆:210
提问于:2011-08-30 21:18
< >
分享
所有回答(1)
0

standardChemicalElement.ChemicalElementItems.Clear(); //仅清除关联未删除数据

改为

foreach(var item in standardChemicalElement.ChemicalElementItems)

{

this.DataContext.StandardChemicalElementItem.Remove(item);
this.DataContext.StandardChemicalElementItem.Attach(item);
this.DataContext.Entry(item).State = EntityState.Deleted;
}

this.DataContext.SaveChanges();
bombw | 园豆:210 (菜鸟二级) | 2011-09-20 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册