实体框架4 - 如何从多对多关系中删除

时间:2010-06-26 15:25:59

标签: entity-framework

请您帮我启用从我的数据库中删除图书吗?

我正在使用EF 4并且书籍和作者之间存在多对多的关系。当我尝试删除一本书时,我得到以下内容:

他的DELETE语句与REFERENCE约束“FK_BookAuthor_Book”冲突。冲突发生在数据库“C:\ PROGRAM FILES \ MICROSOFT SQL SERVER \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ NTCODING.MDF”,表“dbo.BookAuthor”,列'BookAuthor_Author_Id'中。 声明已经终止。

作为SQL大师不是我的工作,但我认为它告诉我,连接表中还有一条记录也需要删除。我不确定我需要设置哪个属性或者需要添加哪些编码。

如果你可以帮助我,我会非常感激。

提前致谢

尼克

2 个答案:

答案 0 :(得分:1)

当您创建表书和位于书和作者之间的表之间的外键关系(在两个一对多关系中打破多对多关系的那个)时,尝试指定“级联” “插入和更新规范的行动”。作者和中间表之间的链接也是如此。因此,当您尝试删除作者(或书籍)时,中间表中的所有相关记录都将被删除。

答案 1 :(得分:0)

看起来我的sql知识并不算太糟糕。我希望通过从作者的作者集中删除作者,联接表将删除记录.... a la fantastico!

我必须在我的Web应用程序的控制器操作中执行此操作,因为我使用通用存储库,而不是将其转换为其中的书。因此,如果您确实知道我可以在我的存储库中强制执行此规则,那么这仍然有用。

由于