У меня есть два следующих класса:
public class MyScoped : IMyScoped
{
private readonly ITransaction _transaction;
public MyScoped(ITransaction transaction)
=> _transaction = transaction;
public void Apply()
{
if(_transaction.Commit)
{
SaveToDatabase();
}
}
}
public class Transaction : ITransaction
{
public bool Commit{get;set;}
}
Я связал эти два класса так:
services
.AddSingleton<ITransaction,Transaction>()
.AddScoped<IMyScoped,MyScoped>()
Где-то перед вызовом экземпляра класса MyScoped я установил для «Commit» значение true
, как показано в следующем коде:
_transaction.Commit = true;
_myScoped.Apply();
Но это всегда false
при проверке условия if(_transaction.Commit)
и, следовательно, транзакция не зафиксирована. Что я сделал не так?!