Example #1
0
        /// <summary>
        /// 重建索引
        /// </summary>
        /// <param name="needIndexs"></param>
        /// <returns></returns>
        public async Task RebuilIndex(List <IndexSql> needIndexs)
        {
            List <Task> tasks = new List <Task>();

            foreach (var need in needIndexs)
            {
                long page = 0, totalPage = 1;
                var  database = DbContainer.GetDatabase(need.ConName);
                while (page < totalPage)
                {
                    var pageData = database.Page <dynamic>((page + 1), 2000, need.Sql);
                    totalPage = pageData.TotalPages;
                    page      = pageData.CurrentPage;
                    tasks.Add(AppendIndex(pageData.Items, need.Columns));
                }
            }
            await Task.WhenAll(tasks);
        }