【问题标题】:How to handle Self-Tracking Entities InvalidOperationException如何处理自跟踪实体 InvalidOperationException
【发布时间】:2011-10-06 19:16:50
【问题描述】:

STE 抛出两种异常:

  • 更新异常
  • InvalidOperationException

使用 UpdateException 我们可以检查内部 SQLExeption.Number 以识别异常(例如 515=NullNotAllowed)

InvalidOperationException 似乎没有公开代码。 Hresult 属性受到保护。

目前我正在解析难看的 InvalidOperationException.Message:

Try
    Using ctx AS New MyEntities
        ctx.Orders.ApplyChanges(order)
        ctx.SaveChanges()
    End Using
Catch ex As InvalidOperationException When ex.Message.Contains("...foreign-key properties is non-nullable")
    Throw New FaultException("...")
Catch ex As UpdateException When CType(ex.InnerException, SqlException).Number = SQLErrorNumbers.NullNotAllowed
    Throw New FaultException("...")
End Try

我们应该如何区分 InvalidOperationExceptions? 是否有可能的 InvalidOperationExceptions 列表? 可以访问受保护的 HResult 吗?

编辑 不,我不是在谈论“重复条目”InvalidOperationExceptions! 我收到 InvalidOperationException “无法更改关系,因为一个或多个外键属性不可为空......”。

【问题讨论】:

标签: .net exception-handling self-tracking-entities


【解决方案1】:

似乎无法绕过 STE 处理丑陋的异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多