首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请问entity framework 删除一对多关联对象

2011-12-25 
请教entity framework 删除一对多关联对象实体定义如下:DirsFiles其中Files中包含外键列DirID指向Dirs的主

请教entity framework 删除一对多关联对象
实体定义如下:
 
Dirs
 
Files
 
其中Files中包含外键列DirID指向Dirs的主键DirID
 
需求:删除一条Dir记录,同时删除该Dir所对应的所有Files
 
 
 
代码: 

C# code
using(MyEntities et = new MyEntities()){    var dir=(此处省略);    dir.Files.Clear();    et.Dirs.DeleteObject(dir);    et.SaveChanges();}
 

当运行到SaveChanges()的时候,会报一个异常:
 
"其他信息: 操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null。对关系作出更改后,会将相关的外键属性设置为 null 值。如果外键不支持 null 值,则必须定义新的关系,必须向外键属性分配另一个非 null 值,或必须删除无关的对象。"
 
请教解决办法,谢谢


[解决办法]
先查出 Dirs以及Dirs的子集,然后直接删除了Dirs就行,这样的它的子集会一并删除。

热点排行