Beispiel #1
0
        /// <summary>
        /// 保存数据更改并同步索引
        /// </summary>
        /// <returns></returns>
        public int SaveChanges(bool index = true)
        {
            int result = 0;

            if (Context.ChangeTracker.HasChanges())
            {
                // 获取要变更的实体集
                LuceneIndexChangeset changes = GetChangeset();
                result = Context.SaveChanges();
                if (changes.HasChanges && index)
                {
                    _indexer.Update(changes);
                }
            }

            return(result);
        }
        /// <summary>
        /// 保存数据更改并同步索引
        /// </summary>
        /// <param name="index">是否需要被重新索引</param>
        /// <returns></returns>
        public async Task <int> SaveChangesAsync(bool index = true)
        {
            int result = 0;

            if (Context.ChangeTracker.HasChanges())
            {
                // 获取要变更的结果集
                LuceneIndexChangeset changes = GetChangeset();
                result = await Context.SaveChangesAsync();

                if (changes.HasChanges && index)
                {
                    LuceneIndexer.Update(changes);
                }
            }

            return(result);
        }