Exemple #1
0
        /// <summary>
        /// Executes indexes creation.
        /// </summary>
        public virtual async Task ExecuteIndexesAsync(List <AbstractIndexCreationTask> indexCreationTasks)
        {
            var indexesToAdd = IndexCreation.CreateIndexesToAdd(indexCreationTasks, Conventions);
            await AsyncDatabaseCommands.PutIndexesAsync(indexesToAdd).ConfigureAwait(false);

            foreach (var task in indexCreationTasks)
            {
                await task.AfterExecuteAsync(AsyncDatabaseCommands, Conventions).ConfigureAwait(false);
            }
        }
Exemple #2
0
        public virtual async Task ExecuteIndexesAsync(List <AbstractIndexCreationTask> indexCreationTasks)
        {
            var indexesNames = indexCreationTasks.Select(x => x.IndexName).ToArray();
            var definitions  = indexCreationTasks.Select(x => x.CreateIndexDefinition()).ToArray();
            var priorities   = indexCreationTasks.Select(x => x.Priority ?? IndexingPriority.Normal).ToArray();

            await AsyncDatabaseCommands.PutIndexesAsync(indexesNames, definitions, priorities).ConfigureAwait(false);

            foreach (var task in indexCreationTasks)
            {
                await task.AfterExecuteAsync(AsyncDatabaseCommands, Conventions).ConfigureAwait(false);
            }
        }