/// <summary> /// Adds database context as transient pool. Pool options are default. /// </summary> public static IServiceContainer AddDataContextTransientPool <TContext>(this IServiceContainer services, Action <DbContextOptionsBuilder <TContext> > contextOptions) where TContext : DbContext { DbContextOptionsBuilder <TContext> builder = new DbContextOptionsBuilder <TContext>(); contextOptions(builder); AddContextOptions(services, builder.Options); services.AddTransientPool <TContext, TContext>(); return(services); }
/// <summary> /// Adds database context as transient pool. /// Pool options will be decided in method specified in 3rd parameter. /// In last parameter will be called after each instance is created. /// </summary> public static IServiceContainer AddDataContextTransientPool <TContext>(this IServiceContainer services, Action <DbContextOptionsBuilder <TContext> > contextOptions, Action <ServicePoolOptions> poolOptions, Action <TContext> afterInstanceCreated) where TContext : DbContext { DbContextOptionsBuilder <TContext> builder = new DbContextOptionsBuilder <TContext>(); contextOptions(builder); services.AddSingleton(builder.Options); services.AddTransientPool <TContext, TContext>(poolOptions, afterInstanceCreated); return(services); }