使用實體框架,我的代碼使用LINQ獲取需要從數據庫中刪除的對象的集合。這個集合有時候相當大,取決於具體情況 - 30或40個對象。實體框架 - 如何找出導致參照完整性錯誤的原因?
我繼續嘗試從它們的相關對象中去耦這些對象,以便我可以刪除它們,然後對每個對象調用context.DeleteObject(),最後調用context.SaveChanges()。
大多數情況下,這很好地工作,特別是當要刪除的對象集合非常小時。然而,當其大,該代碼有時會拋出和錯誤各地參照完整性,具體如下:
The DELETE statement conflicted with the REFERENCE constraint
\"FK_ServiceFeatureSchemaFragmentSchemaFragment_SchemaFragment\".
The conflict occurred in database \"MyDataBase\",
table \"dbo.ServiceFeatureSchemaFragmentSchemaFragment\".\r\n
The statement has been terminated.
如此看來,有時候我的對象有我沒有找到和解夫婦在刪除前附加約束。
我正在努力的是,因爲我正在處理一個相對較大的集合,我無法確定哪一個(s)導致這種情況發生。我正在尋找關於如何通過以某種方式識別問題對象來推進的建議,例如,是否有方法可以預先確定集合中的對象是否會在您之前拋出這些類型的錯誤刪除它們?還是另一種方法?
感謝收到的建議。