public static void RollbackTransaction(this IGlobalTransaction inst) { foreach (var d in inst.DbContexts) { d.Database.RollbackTransaction(); } }
public static void BeginTransaction(this IGlobalTransaction inst, IsolationLevel isolationLevel) { foreach (var d in inst.DbContexts) { d.Database.BeginTransaction(isolationLevel); } }
public static void CommitTransaction(this IGlobalTransaction inst) { foreach (var d in inst.DbContexts) { d.Database.CommitTransaction(); } }
/// <summary> /// Recursively get all contained DbContext objects /// </summary> /// <returns></returns> internal static IEnumerable <DbContext> DbContextMembers(this IGlobalTransaction inst) { return(from m in Members(inst) where m is DbContext select(DbContext) m); }
/// <summary> /// Retrieve all DbContext instances for the DbContexts property. /// Call immediately after ConfigureServices() /// </summary> public static void RetrieveDbContexts(this IGlobalTransaction inst) { inst.DbContexts = DbContextMembers(inst).ToList(); }