/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { Dictionary <randomKey <keyType>, valueType> dictionary = dictionary <randomKey <keyType> > .Create <valueType>(); foreach (valueType value in SqlTool.Where(null, memberMap)) { setMemberCacheAndValue(value); dictionary[GetKey(value)] = value; } this.dictionary.SetVersion(dictionary); }
/// <summary> /// 重新加载数据 /// </summary> private void reset() { valueType[] values = SqlTool.Where(null, memberMap).getFindArray(isValue); Dictionary <int, valueType> newValues = new Dictionary <int, valueType>(values.Length); foreach (valueType value in values) { newValues.Add(getIdentity(value), value); } this.values = newValues; ++identityVersion; Count = values.Length; }
/// <summary> /// 获取数据集合 /// </summary> /// <param name="key">关键字</param> /// <returns>数据集合</returns> protected list <valueType> getList(keyType key) { list <valueType> list = queueCache.Get(key, null); if (list == null) { list = SqlTool.Where(getWhere(key), memberMap).getList() ?? new list <valueType>(); queueCache[key] = list; if (queueCache.Count > maxCount) { queueCache.Pop(); } } return(list); }
/// <summary> /// 获取数据集合 /// </summary> /// <param name="key">关键字</param> /// <returns>数据集合</returns> protected listOrderLadyValue <valueType> getCache(keyType key) { listOrderLadyValue <valueType> cache = queueCache.Get(key, default(listOrderLadyValue <valueType>)); if (cache.List == null) { cache.List = SqlTool.Where(getWhere(key), memberMap).getList() ?? new list <valueType>(); queueCache[key] = cache; if (queueCache.Count > maxCount) { queueCache.Pop(); } } return(cache); }
/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { valueType[] values = SqlTool.Where(null, memberMap).getArray(); int maxIdentity = values.maxKey(value => GetKey(value), 0); if (memberGroup == 0) { SqlTool.Identity64 = maxIdentity + baseIdentity; } int length = maxIdentity >= identityArray.ArraySize ? 1 << ((uint)maxIdentity).bits() : identityArray.ArraySize; identityArray <valueType> newValues = new identityArray <valueType>(length); pointer.size newCounts = unmanaged.Get(length * sizeof(int), true); try { int *intCounts = newCounts.Int; foreach (valueType value in values) { setMemberCacheAndValue(value); int identity = GetKey(value); newValues[identity] = value; intCounts[identity] = 1; } for (int step = 2; step != length; step <<= 1) { for (int index = step, countStep = step >> 1; index != length; index += step) { intCounts[index] += intCounts[index - countStep]; } } unmanaged.Free(ref counts); this.values = newValues; counts = newCounts; size = length; Count = values.Length; newCounts.Null(); } catch (Exception error) { log.Error.Add(error, null, true); } finally { unmanaged.Free(ref newCounts); } }
/// <summary> /// 重新加载数据 /// </summary> private void reset() { valueType[] values = SqlTool.Where(null, memberMap).getArray(); int maxIdentity = values.maxKey(value => getIdentity(value), 0); int length = maxIdentity >= 1024 ? 1 << ((uint)maxIdentity).bits() : 1024; valueType[] newValues = new valueType[length]; int * newCounts = unmanaged.Get(length * sizeof(int)).Int; bool isFree = false; try { foreach (valueType value in values) { int identity = getIdentity(value); newValues[identity] = value; newCounts[identity] = 1; } for (int step = 2; step != length; step <<= 1) { for (int index = step, countStep = step >> 1; index != length; index += step) { newCounts[index] += newCounts[index - countStep]; } } unmanaged.Free(counts); isFree = true; this.values = newValues; counts = newCounts; size = length; Count = values.Length; } catch (Exception error) { log.Default.Add(error, null, true); } finally { if (!isFree) { unmanaged.Free(newCounts); } } }
/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { valueType[] values = SqlTool.Where(null, memberMap).getFindArray(isValue); Dictionary <int, valueType> newValues = fastCSharp.dictionary.CreateInt <valueType>(values.Length); int maxIdentity = 0; foreach (valueType value in values) { setMemberCacheAndValue(value); int identity = GetKey(value); if (identity > maxIdentity) { maxIdentity = identity; } newValues.Add(identity, value); } if (memberGroup == 0) { SqlTool.Identity64 = maxIdentity + baseIdentity; } this.dictionary.Set(newValues); Count = values.Length; ++this.dictionary.Version; }
/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { reset(SqlTool.Where(null, memberMap).getArray()); }
/// <summary> /// 重新加载数据 /// </summary> private void reset() { reset(SqlTool.Where(null, memberMap).getArray()); }
/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { reset(SqlTool.Where(null, memberMap).getFindArray(isValue)); }
/// <summary> /// 重新加载数据 /// </summary> private void reset() { reset(SqlTool.Where(null, memberMap).getFindArray(isValue)); }
/// <summary> /// 重新加载数据 /// </summary> protected override void reset() { foreach (valueType value in SqlTool.Where(null, memberMap)) insert(value); }
/// <summary> /// 重新加载数据 /// </summary> protected void reset() { dictionary = SqlTool.Where(null, memberMap).getDictionary(getKey); ++keyVersion; }