我想告诉用户的确切原因的记录无法删除,我有这样的代码来执行删除操作:如何让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所引用的那样”。