2013-08-07 19 views
1

我已經創建了Visual Studio 2010中 我添加連接到SQL Server數據庫的ADO.NET實體數據模型的ASP.NET動態數據實體Web應用程序項目。動態數據實體Web應用程序處理delete語句衝突

應用程序工作正常。

我想處理異常中有一列是另一個表的外鍵的表刪除行的時候。

唯一的例外是:

DELETE語句衝突與基準約束 「FK_NAME」。衝突 發生在數據庫「名稱」,表「dbo.dbname」,列'Column_name'中。

我想要做的是顯示一個用戶友好的消息來解釋,在其他表中的其他行被刪除之前無法進行操作。

我做了一些一步一步的調試,但我找不到在應用程序執行數據庫請求,這樣我可以自定義代碼。

謝謝。

+0

您需要發佈更多信息才能幫助我們。當有人點擊刪除時,你的應用程序代碼是什麼樣的? –

+0

您可能需要考慮在您的模型上啓用級聯刪除,而不是花費精力在刪除時彈出錯誤消息。請參閱http://blogs.msdn.com/b/alexj/archive/2009/08/19/tip-33-how-cascade-delete-really-works-in-ef.aspx。 –

+1

@CharlieBrown OP表示他們正在使用動態數據,因此刪除函數背後的代碼是由框架自動生成的。 –

回答

1

我做了一些研究,我發現了兩個選擇: - 我可以直接使用gridview屬性​​來處理刪除操作。這意味着很多實體操作 的 - 我能處理實體框架SavingChanges和檢查實體上EntityState.Deleted,然後檢查實體導航屬性,如果需要拋出一個明確的消息。這可與自定義驗證錯誤一起使用,以顯示用戶友好的消息。

相關問題