我在the lightswitch forum上發佈了此問題,但什麼也沒得到。在放棄Lightswitch之前,我想再試一次。是否有任何其他選項可用於在Lightswitch中調試此刪除問題
我正在執行刪除針對具有良好定義的關係約束的Sql Server數據庫。由於各種原因,我無法在這些關係上指定級聯刪除。
我的方法似乎正確,因爲我正在成功刪除一個實體類型。在實體刪除事件,我刪除所有相關兒童是這樣的:
entity.simpleChild.Delete();
foreach (var child in entity.complexChild)
{
((IEntityObject)child).Delete();
}
foreach (var child in entity.ChildWithGrandChildren)
{
foreach (var grandChild in child.Children)
{
((IEntityObject)grandChild).Delete();
}
child.Delete();
}
我的一個實體類型的失敗,但是。這個實體有孫子,但我也刪除了這些。不僅如此,當我評論刪除孫子並試圖刪除一個沒有相關孫子的實體時,我會得到同樣的錯誤。我正在以與TSQL腳本相同的順序刪除所有內容。但是在運行時,出現此錯誤:
操作失敗:由於一個或多個外鍵屬性不可空,因此無法更改關係。當對關係進行更改時,相關的外鍵屬性將設置爲空值。如果外鍵不支持空值,則必須定義新的關係,必須爲外鍵屬性指定另一個非空值,或者必須刪除不相關的對象。
當我分析的數據庫,我可以刪除看到很多選擇,但沒有嘗試,所以只的LightSwitch認爲有將是一個問題。我能做些什麼來嘗試找出問題所在?從模型中刪除各種相關的實體從不會產生任何不同的消息。
您能否發佈觸發此錯誤的代碼?請務必指出您正在操作的環境 - 響應命令,數據事件等內容。 –
添加了簡單代碼示例。正如我所提到的,這段代碼在實體的Deleting事件中運行。 – dudeNumber4
如果我們通過中間子實體將「孫子女」定義爲與「祖父母」相關的實體,那麼您發佈的代碼並不刪除孫子女。 –