public void RegisterServices(IServiceCollection services, IServiceRegistrationOptions serviceRegistrationOptions) { services .RegisterDbContextRepositories <BudgetPlannerDbContext>( configure => { configure.ServiceLifetime = ServiceLifetime.Transient; configure.UseDbContextPool = true; configure.DbContextServiceProviderOptions = (serviceProvider, setup) => { var applicationSettings = serviceProvider.GetRequiredService <ApplicationSettings>(); setup .EnableSensitiveDataLogging() .UseSqlServer(applicationSettings.DefaultConnectionString); }; configure.DescribedEntityTypes = TypesDescriptor .Describe <Account>() .Describe <AccountClaim>() .Describe <Role>() .Describe <AccountRole>() .Describe <AccountAccess>() .Describe <Transaction>() .Describe <TransactionType>() .Describe <TransactionLedger>() .Describe <Claim>() .Describe <AccessType>() .Describe <RequestToken>() .Describe <Budget>(); }); }
public void RegisterServices(IServiceCollection services, IServiceRegistrationOptions options) { services.RegisterDbContextRepositories <CrmDbContext>(config => { config.DbContextServiceProviderOptions = BuildDbContextServiceProviderOptions; config.ServiceLifetime = ServiceLifetime.Transient; config.DescribedEntityTypes = TypesDescriptor.Describe <Customer>(); }); }
public static IServiceCollection RegisterDbContextRepositories <TDbContext>(this IServiceCollection services, ServiceLifetime serviceLifetime = ServiceLifetime.Scoped, Action <DbContextOptionsBuilder> dbContextOptions = default, params Type[] entityTypes) where TDbContext : DbContext { return(RegisterDbContextRepositories <TDbContext>(services, configuration => { foreach (var entityType in entityTypes) { if (configuration.DescribedEntityTypes == null) { configuration.DescribedEntityTypes = TypesDescriptor.Describe(entityType); } configuration.DescribedEntityTypes.Describe(entityType); } configuration.ServiceLifetime = serviceLifetime; configuration.DbContextOptions = dbContextOptions; configuration .ServiceImplementationType = typeof(DefaultEntityFrameworkRepository <,>); })); }