Exemple #1
0
        /// <summary>对指定字段使用实体缓存</summary>
        /// <param name="field"></param>
        public FieldCache(FieldItem field)
        {
            WaitFirst      = false;
            Expire         = 10 * 60;
            FillListMethod = () =>
            {
                return(Entity <TEntity> .FindAll(_field.GroupBy(), _Unique.Desc(), _Unique.Count()& _field, 0, MaxRows));
            };

            _field = field;
            {
                var tb = field.Table;
                var id = tb.Identity;
                if (id == null && tb.PrimaryKeys != null && tb.PrimaryKeys.Length == 1)
                {
                    id = tb.PrimaryKeys[0];
                }

                if (id == null)
                {
                    throw new Exception("{0}缺少唯一主键,无法使用缓存".F(tb.TableName));
                }

                _Unique = id;
            }
        }
Exemple #2
0
        /// <summary>对指定字段使用实体缓存</summary>
        /// <param name="field"></param>
        public FieldCache(FieldItem field)
        {
            WaitFirst      = false;
            Expire         = 10 * 60;
            FillListMethod = () =>
            {
                // 根据数量降序
                var id = field.Table.Identity;
                return(Entity <TEntity> .FindAll(field.GroupBy(), id.Desc(), id.Count()& field, 0, MaxRows));
            };

            _field = field;
        }