0

我的数据库中有一个联系人表和一个电话表,在电话表中有一个“ContactId”列,其中一个键将电话引用到联系人。

在服务器的关键选项中,我将其删除选项设置为“级联”。

现在,当我尝试使用上下文删除联系人时:

Dim contact As Contact 'The contact I want to delete.
Dim context As New Entities 'The ObjectContext.
context.DeleteObject(contact)
context.SaveChanges()

上面的语句引发了一个 UpdateException,让我知道联系人仍有电话记录,其 ContactId col 设置为其 ID。

现在我知道我可以手动完成并首先删除所有相关电话然后删除联系人,但我正在寻找一种更有效的方法,我希望这一切都应该自动完成。

欢迎任何建议和实践。

谢谢。

4

1 回答 1

0

您不需要先手动删除电话记录,但确实需要加载它们。加载记录后,实体框架将确定要做什么。

此外,这篇博文还有一种方法可以在实体框架中删除对象,而无需先检索它们。讨论了删除引用相关对象的对象的问题。它可能会帮助您了解引擎盖下发生的事情。

于 2009-03-27T11:56:32.523 回答