Saya menemukan jawabannya dalam dokumentasi Entity Framework 6:
Dengan diperkenalkannya EF6, Microsoft merekomendasikan untuk menggunakan metode API baru: Database.BeginTransaction()dan Database.UseTransaction(). Meskipun System.Transactions.TransactionScopemasih didukung dengan sangat baik, ini tidak lagi diperlukan untuk sebagian besar pengguna EF6.
Sementara Database.BeginTransaction()hanya digunakan untuk transaksi operasi terkait database System.Transactions.TransactionScope, selain itu, memungkinkan 'kode C # biasa' juga menjadi transaksional.
Oleh karena itu, gunakan di Database.BeginTransaction()mana pun hanya melakukan operasi terkait db dalam transaksi di EF6 jika tidak, gunakanSystem.Transactions.TransactionScope untuk mencampur operasi db dan kode C # bersama-sama dalam transaksi.
Bagi mereka yang masih lebih suka TransactionScopependekatan ini, disarankan agar mereka mengatasi batasannya, terutama dalam skenario cloud (skenario cloud tidak mendukung transaksi terdistribusi).
Informasi lebih lanjut dapat ditemukan di sini