2012-07-10 34 views
0

这里是一个尝试澄清问题...有没有办法从Linq2Sql数据库操作获得操作反馈?

我以前使用Linq2Sql与存储过程执行的所有数据操作。在这些存储过程中,我可以返回各种(预设)错误代码来表示不同类型的错误,并返回任何SQL错误代码。在我的应用程序框架中,我有一个很好的方法来查找错误代码,获取错误的有意义的描述,然后将有用的反馈传递给UI。

我已经开始使用Linq2Sql而不使用任何存储过程(例如只是实体表)的新项目。我遇到的问题是,在执行数据操作后,我找不到任何方式来访问数据库中的SQL错误代码,更不用说我现在不存在的自定义错误代码(没有存储过程,没有自定义错误代码) 。

所以我的问题是'在执行数据操作之后有没有办法从数据库中检索这种错误相关的反馈?'我真的需要知道数据操作是否成功执行。

许多在此先感谢。

UPDATE >>>

接收第一个答案之后,我觉得我应该补充更多的尝试和进一步澄清的事情。我遇到了Linq2Sql DataContext不能正常工作(现在已经修复)并且数据库中没有数据正在更新的情况,但是没有任何异常被抛出。因此,我需要找到一种方法来确认我的数据操作是否成功......除了“缺少例外情况”之外,还必须有其他形式的确认。

回答

0

正常的异常处理有什么问题。如果你的SubmitChanges期间得到一个错误,一个将引发异常

try 
{ 
    db.SubmitChanges(); 
} 
catch (Exception e) 
{ 
    Console.WriteLine(e.Message); 
    // Make some adjustments. 
    // ... 
    // Try again. 
    db.SubmitChanges(); 
} 
+0

如果我要实现的是每次调用的SubmitChanges(),我想有这么多额外的代码来写。目前,我的异常在下一级别处理,即在所有数据库调用通过的地方处理,即,一个尝试和捕捉块。无论如何,我认为你错过了我的观点......我想知道是否可以像使用存储过程时那样从SQL中检索确认。 – Sheridan 2012-07-10 20:41:13

+0

你不应该有太多的电话Submitchanges。每个功能只有一个(LUW)。您只需要处理yoyr SP的返回码即可。另外:你不需要确认,它没有得到一个很好的例外。 – Pleun 2012-07-11 18:22:15

相关问题