Я C# разработчик, использующий Entity Framework 6, npg sql и Uni DI. В качестве заголовка я столкнулся с PostgresException при создании журнала, и мне нужно закрыть текущее соединение и воссоздать новое соединение в EF и npg sql.
вот код
public interface IPgRepo
{
IDbSet<Log> Logs { get; set; }
int SaveChanges();
void Dispose();
}
public class PgRepo : DbContext, IPgRepo
{
public PgRepo(string connString) : base(connString)
{
}
IDbSet<Log> IPgRepo.Logs { get ; set ; }
int IPgRepo.SaveChanges()
{
return SaveChanges();
}
void IPgRepo.Dispose()
{
Dispose();
}
}
public class LogCommand
{
private IPgRepo _repository;
public LogCommand(IPgRepo repository)
{
_repository = repository;
}
public void AddLog(Log log)
{
try
{
_repository.Logs.Add(log);
_repository.SaveChanges();
}
catch (PostgresException ex)
{
//todo: how to create new connection ??
_repository.Dispose();
}
}
}