The provider to obtain the scope from. When it does not support entity
transactions the work still runs, just without transactional guarantees —
callers needing atomicity must check SupportsEntityTransactions first and
route the unit of work to the server instead.
The work to perform inside the scope.
Whatever work returns.
Runs
workinside a provider-arbitrated transaction scope, committing on success and rolling back on any thrown error.This is the preferred entry point — it makes the settle-once contract impossible to get wrong and keeps the
try/catchboilerplate in one place.