如何记录 Entity Framework 引起的出现错误?
我目前使用 log4net,但我认为这与日志框架无关。
以下是一个示例 API:
public class TestController : ApiController
{
[HttpGet]
public IEnumerable<Test> GetTests()
{
using(var context = new DatabaseContext())
{
return context.Tests.Where(w=>w.Enabled).ToList();
}
}
}
现在,我必须把我的方法主体放在try / catch中(并且我必须把所有控制器的方法主体都放在try / catch块中)
try
{
using (var context = new DatabaseContext())
{
return context.Tests.Where(w=>w.Enabled).ToList();
}
}
catch(Exception e)
{
// TODO: handle also those ValidationErrors, thrown by Entity Framework
// so here we get a lot more code
_logger.Error(e);
}
但我不想在我的API中的任何方法体中加入try/catch块。
是否有可能在我的DatabaseContext
类中添加一个OnException
,以便我始终可以记录由Entity Framework引发的任何异常?
HandleErrorAttribute
吗? - Matthias Burger