Saya ingin mengembalikan Func di tengah blok penggunaan. Haruskah saya khawatir untuk membuangnya, sebelum pengguna menjalankan Fungsi hasilnya?
Contoh kode:
private IDbContextTransaction _transaction;
public Func<Task> BeginTransaction()
{
Task lockDispose = CommitTransaction();
using (_transaction = _dbContext.Database.BeginTransaction())
{
return async() =>
{
await lockDispose;
};
Task.WaitAll(lockDispose); //This code is unreachable.
}
}
private async Task CommitTransaction()
{
_transaction.Commit();
await Task.CompletedTask;
}
Perhatikan bahwa waktu eksekusi hasil Func terserah pengguna layanan ini.
Saya memeriksa Pertanyaan Ini dan itu bukan jawaban saya.
BeginTransaction
? - person Theodor Zoulias   schedule 20.12.2020Func<Task>
kepada pengguna tidak berarti atau nyaman. Jika Anda tidak ingin mereka melakukan transaksi dua kali, Anda dapat memberi mereka fasadTransaction
dengan metodeCommitTransaction
yang paling banyak memanggilTransaction.CommitTransaction
yang sebenarnya. - person Theodor Zoulias   schedule 21.12.2020