【发布时间】:2013-04-05 13:56:14
【问题描述】:
这个想法在我脑海里盘旋了很长一段时间,但我仍然找不到任何答案。我的 DbContext 由 UnitOfWork 类处理。所以我有一个地方发生了保存更改,我正在捕获所有这些讨厌的异常并在一个地方处理它们。
但是,众所周知,DbContext 有时会在 SaveChanges() 方法之外的其他地方引发其他类型的异常。例如在实体化实体时。但这可能发生在很多地方,有时在每个 FirstOrDefault() 或 ToList() 调用上编写 try catch 块并捕获并重新抛出异常是开销。 有时,此异常可能是 SQL 类型,即无法打开连接、EntityCommandExecutionException 或其他。
所以我想知道当异常发生时 DbContext 对象是否会触发任何事件,所以我可以订阅该事件并在这些场景中处理一些逻辑。 :)
【问题讨论】:
标签: entity-framework exception dbcontext unit-of-work