Example #1
0
        /// <summary>
        /// 异步保存一个实体到db
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity"></param>
        /// <returns></returns>
        public void SyncUpdateEntity <T>(T entity) where T : class, IDataEntity, new()
        {
            if (MangoDBConfig.IOCache)
            {
                var obj = UpdateEntityPool <T> .AcquireContent(this, entity);

                var ret = ThreadQueue.AppendIOCache(entity.GetHashCode(), obj.Update);
                if (ret == false)
                {
                    //  更新失败的话,则将自己的这个对象放回对象池
                    obj.Release();
                }
            }
            else
            {
                ThreadQueue.AppendIO(UpdateEntityPool <T> .AcquireContent(this, entity).Update);
            }
        }
 /// <summary>
 /// 异步插入一个属性
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="entity"></param>
 public void SyncInsertEntity <T>(T entity) where T : class, new()
 {
     ThreadQueue.AppendIO(() => InsertEntity(entity));
 }
Example #3
0
 /// <summary>
 /// 异步删除一个属性
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="entity"></param>
 public void SyncDeleteEntity <T>(T entity) where T : class, IDataEntity, new()
 {
     ThreadQueue.AppendIO(() => DeleteEntity(entity));
 }