Мне нужно сохранить информацию об исключении в базе данных.
т.е.
SomeMethod()
{
try
{
using(transaction = context.beginTransaction())
{
try
{
// here is the database error
await transaction.CommitAsync();
}
catch(Exception e)
{
await transaction.Rollback();
throw;
}
}
}
catch(Exception exception)
{
// Here I get the same error that was generated inside the transaction
context.Set<LogEntity>().Add(new LogEntity(....));
await context.SaveChangesAsync();
}
}
Правильно ли я понимаю, что контекст - это соединение с базой данных и что в одном контексте Я могу выполнить несколько транзакций?
Насколько я понимаю, контекст на этом этапе находится в грязном состоянии?
Как выполнить запись в базу данных после ошибки транзакции?