1

我最近更新了数据库中的一些表来使用OnDelete=Cascade,但是,当我去更新我的 edmx 文件时,Update model from database我注意到OnDelete没有正确更新。

经过一番搜索,我从http://msdn.microsoft.com/en-us/library/bb738695.aspx找到了以下“提示”

如果您使用级联删除规则更新数据库,然后从数据库中更新现有模型,实体框架会将级联删除规则添加到 SSDL 而不是 CSDL。您必须手动添加它。要在概念模型中指定级联删除规则,请在实体设计器图面上选择关联。然后,在“属性”窗口中,为 OnDelete 属性选择级联。

我的问题是为什么会这样?我更新了大约 15 个表,现在我需要去查找每个关系并在edmx文件中进行相同的更新......有没有更简单更有效的方法?

4

1 回答 1

2

在一个完美的世界中,它应该但显然这是一个已知问题,因为他们正在将其烘焙到文档中。 创建、添加、修改和删除对象

它位于 In this Section 部分之前的提示块中。

因此,除非编写它的设计师程序员想要解释它,否则我们将不得不接受“按预期工作”的事情。

于 2011-09-14T19:35:03.323 回答