public static void InitializeAudit <T>(this T context, Func <DbContextOptionsBuilder, DbContextOptionsBuilder> builder) where T : DbContext { InitializeAuditedTablesMetadataCache(context); using (AuditableContext auditContext = new AuditableContext(builder(new DbContextOptionsBuilder()).Options)) { IRelationalDatabaseCreator creator = auditContext.GetService <IRelationalDatabaseCreator>(); creator.CreateTables(); } }