CommitFailedException不会抛出

时间:2015-05-03 23:03:20

标签: c# entity-framework

实际上我有一些代码因此异常而失败

首先排除类型' System.Data.Entity.Infrastructure.CommitFailedException'在EntityFramework.SqlServer.dll

此异常避免在我的数据库中保存更改,但不会在我的代码中抛出任何exeption。我只是在结果(输出)窗口出现,我正在进行调试。

我试过的一些事情......

Try
{
   dbContext.SaveChanges();
}
catch(Exception ex)
{
   //  It never stosp Here
   var somethingshere = ex.message;  
}

但不会停止并且不会抛出任何其他错误。

如何捕获它并查看异常详细信息?

注意:我使用EF 6.1和.NET 4.5。

1 个答案:

答案 0 :(得分:1)

更新:检查调试中的“在抛出异常时中断”选项 - >例外菜单。

Debug menu

如果失败 - 我认为这可能会有所帮助:

  

如果您的应用程序可以在相对不频繁的基础上处理这些问题(例如,用户可以只在需要时验证自己重试上一次操作),则可以通过添加一个仅抛出有用异常的TransactionHandler实现来避免CommitFailureHandler的开销

来源:https://entityframework.codeplex.com/wikipage?title=Handling%20of%20Transaction%20Commit%20Failures%20

源本身非常有用。 我希望它可以帮助你解决问题。