/// <summary> /// Creates an instance of the context without managing its lifetime. /// </summary> /// <param name="contextFactory"></param> /// <param name="name"></param> /// <typeparam name="T"></typeparam> /// <typeparam name="TContext"></typeparam> /// <returns></returns> public static TContext CreateUnmanagedContext <TContext>( this ContextFactory <TContext> contextFactory, string name) where TContext : MongoContext { var contextFixture = contextFactory.CreateContextFixture(name); return(contextFixture.Context); }
/// <summary> /// Creates an instance of the context, attaching its lifetime to the lifetime of the lifetime manager. /// </summary> /// <param name="contextFactory"></param> /// <param name="lifetimeManager"></param> /// <typeparam name="T"></typeparam> /// <typeparam name="TContext"></typeparam> /// <returns></returns> public static TContext CreateContext <T, TContext>( this ContextFactory <TContext> contextFactory, T lifetimeManager) where T : IAsyncLifetimeManager where TContext : MongoContext { var testClassName = lifetimeManager.GetType().Name; var contextFixture = contextFactory.CreateContextFixture(testClassName); lifetimeManager.AddAsyncLifetime(contextFixture); return(contextFixture.Context); }