【发布时间】:2015-06-22 08:59:27
【问题描述】:
我正在使用 EF6.1,我想在引发以下异常时将消息更改为更特定于系统的消息。
存储更新、插入或删除语句影响了意外的行数 (0)
现在,我的问题是我似乎无法捕捉到异常?我尝试了以下方法,但我的断点似乎永远不会捕获
public override System.Threading.Tasks.Task<int> SaveChangesAsync()
{
try
{
return base.SaveChangesAsync();
}
catch (System.Data.Entity.Core.OptimisticConcurrencyException e)
{
var a = e.Message;
}
catch (System.Data.DBConcurrencyException e)
{
var a = e.Message;
}
catch (Exception e)
{
var a = e.Message;
}
return null;
}
这不是抛出异常吗?这很奇怪
【问题讨论】:
-
你不尊重
Separation of Concerns原则。 -
关注点分离?
-
“抛出异常通知调用者发生了不好的事情”与“向用户报告错误”完全不同。这称为 SoC。
-
如下所述,我现在已更改此设置并将代码移至控制器
标签: c# asp.net .net entity-framework entity-framework-6