我想告訴用戶的確切原因的記錄無法刪除,我有這樣的代碼來執行刪除操作:如何讓LINQ到SQL中刪除異常信息對用戶更友好
try{
var table = Context.GetTable<TRecordType>();
lock (table) {
table.DeleteOnSubmit(recordToDelete);
Context.SubmitChanges();
}
catch (Exception ex) {
//Put back record
throw new Exception("Could not perform dataservice delete operation", ex);
}
正如你可以看到非常簡單,但通常由於外鍵約束而無法刪除該記錄,所以我得到此SQLException並顯示如下消息:「DELETE語句與REFERENCE約束」FK_Something「衝突...數據庫中發生衝突「X」,表「dbo.Department」,'DepartmentId'列,現在我真正想做的事情是告訴用戶他不能刪除記錄,因爲被異常提到的這個表引用了。不得不面對se文本要做到這一點,這是唯一的方法嗎?如果我可以獲得對違反約束條件的記錄的引用,那麼它會非常好,因此我可以告訴用戶「您不能刪除文檔A,正如文檔B,C和D所引用的那樣」。