У меня возникают проблемы с моими транзакциями в том, что они перерастают в распределенную транзакцию, чего я не хочу. Из того, что я читал, это вызвано открытием нескольких соединений во время транзакции. Чтобы исправить это, я перерабатываю свой код, чтобы иметь возможность создать один dbContext и передать его всем классам, поэтому у меня есть только один контекст и, следовательно, одно соединение во время транзакции.Как передать экземпляр класса в конструктор базового класса
Мой вопрос: как создать один экземпляр контекста и передать его базовому классу. То, что я написал, это то, что я пытаюсь сделать в концепции, но, очевидно, это не сработает. Как я могу это достичь?
private WorkOrderHeaderRepository _workOrderHeaderRepository;
private WorkOrderDetailRepository _workOrderDetailRepository;
private InventoryMgmtContext _dbContext;
#region Constructors
public ManageWorkOrdersAppServ()
: base(new WorkOrderHeaderRepository(_dbContext)) <----How pass _dbContext to base here
{
_dbContext = new InventoryMgmtContext();
_workOrderHeaderRepository = new WorkOrderHeaderRepository(_dbContext);
_workOrderDetailRepository = new WorkOrderDetailRepository(_dbContext);
}
Даже если это сработало, а это не так, вы бы передали нулевую ссылку *. Вы еще не инициализировали поле. –