2010-11-15 70 views
1

我最近更新了數據庫中的一些表格以使用OnDelete=Cascade,但是,當我通過Update model from database更新我的edmx文件時,我注意到OnDelete沒有正確更新。爲什麼實體框架無法正確更新CSDL(概念模型)中的OnDelete?

有點搜索後,我發現下面的「尖」從http://msdn.microsoft.com/en-us/library/bb738695.aspx

如果用 級聯刪除規則更新數據庫,然後更新 從數據庫中現有模型, 實體框架會將 級聯刪除規則添加到SSDL,但將 添加到CSDL。您將不得不手動添加它 。要在概念模型中指定級聯 刪除規則,請在 上選擇實體 設計器表面上的關聯。然後,在 「屬性」窗口中,選擇級聯爲 OnDelete屬性。

我的問題是爲什麼這樣?我更新了約15個表格,現在我需要去找到每個關係,並在edmx文件中執行相同的更新...是否有更簡單更有效的方法?

回答

2

在一個完美的世界中,它應該顯然是一個已知的問題,因爲它們將它烘焙到文檔中。 Creating, Adding, Modifying, and Deleting Objects

這是在本節的部分前的提示塊。

所以,除非編程的編程人員想要解釋它,否則我們將不得不接受「按預期工作」的事情。