Какова наилучшая практика для регистрации любых возникающих ошибок, вызванных Entity Framework?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/улове (и я бы придерживаться всех методов тела всех контроллеров в Try/улове блоки)
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.
Есть ли возможность добавить OnException
в мой класс DatabaseContext
, где я всегда могу регистрировать любое исключение, созданное Entity Framework?
проверить обработку исключений 3-го типа в http://www.dotnetcurry.com/aspnet-mvc/1068/aspnet-mvc-exception-handling –
@PranavPatel haha, эта страница действительно выглядит как карри ... вы имеете в виду, что 'HandleErrorAttribute'? –
@MatthiasBurger Да, вы добавляете это к глобальным фильтрам. –