Beispiel #1
0
        /// <summary>
        /// 更新用户联系方式
        /// </summary>
        /// <param name="entity">用户联系方式实体</param>
        /// <returns>影响行数</returns>
        public int Update(BaseUserContactEntity entity)
        {
            int result = 0;

            // 获取原始实体信息
            var entityOld = this.GetObject(entity.Id);

            // 2015-12-26 吉日嘎拉 当新增时,需要判断这个是否为空
            if (entityOld != null)
            {
                // 保存修改记录
                this.UpdateEntityLog(entity, entityOld);
            }
            // 更新数据
            result = this.UpdateObject(entity);
            // 同步数据
            // AfterUpdate(entity);
            // 重新设置缓存
            if (result > 0)
            {
                BaseUserContactManager.SetCache(entity);
            }

            // 返回值
            return(result);
        }
        /// <summary>
        /// 编辑之后,需要重新刷新缓存,否则其他读取数据的地方会乱了,或者不及时了
        /// </summary>
        /// <param name="entity">用户实体</param>
        /// <returns>影响行数</returns>
        public int AfterUpdate(BaseUserEntity entity)
        {
            var result = 0;

            // 用户的缓存需要更新
            SetCache(entity);
            // 用户的联系方式需要更新
            BaseUserContactManager.SetCache(entity.Id);
            // 2016-02-02 吉日嘎拉,修改数据后重新设置缓存。
            CachePreheatingSpelling(entity);
            // AfterUpdateSynchronous(entity);
            return(result);
        }
        /// <summary>
        /// 缓存预热,强制重新缓存
        /// </summary>
        /// <returns>影响行数</returns>
        public static int CachePreheating()
        {
            int result = 0;

            // 把所有的数据都缓存起来的代码
            BaseUserContactManager manager = new BaseUserContactManager();

            using (IDataReader dataReader = manager.ExecuteReader())
            {
                while (dataReader.Read())
                {
                    BaseUserContactEntity entity = BaseEntity.Create <BaseUserContactEntity>(dataReader, false);
                    BaseUserContactManager.SetCache(entity);
                    result++;
                    System.Console.WriteLine(result.ToString() + " : " + entity.Telephone);
                }
                dataReader.Close();
            }

            return(result);
        }