数据存储缓存数据表类型 对应数据库的数据表
        /// <summary>
        /// 外键查找
        /// </summary>
        /// <param name="msgId">数据类型ID</param>
        /// <param name="key">外键</param>
        /// <returns></returns>
        internal List <InnerCacheItem> FindByForeignKey(int msgId, KeyString foreignKey)
        {
            InnerCacheTable cacheTable = null;

            m_CacheTableDict.TryGetValue(msgId, out cacheTable);
            if (cacheTable != null)
            {
                return(cacheTable.FindByForeignKey(foreignKey));
            }
            return(new List <InnerCacheItem>());
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="msgId">数据类型ID</param>
        /// <param name="key">Key</param>
        /// <returns>删除成功返回true,失败返回false</returns>
        internal bool Remove(int msgId, KeyString key)
        {
            InnerCacheTable cacheTable = null;

            m_CacheTableDict.TryGetValue(msgId, out cacheTable);
            if (cacheTable != null)
            {
                return(cacheTable.Remove(key));
            }
            return(false);
        }
        internal const long InitialCacheVersion  = 0;          //初始的缓存数据CacheVersion
        /// <summary>
        /// 主键查找
        /// </summary>
        /// <param name="msgId">数据类型ID</param>
        /// <param name="key">主键</param>
        /// <returns>查找成功返回对应数据对象,不存在返回null</returns>
        internal InnerCacheItem Find(int msgId, KeyString key)
        {
            InnerCacheTable cacheTable = null;

            m_CacheTableDict.TryGetValue(msgId, out cacheTable);
            if (cacheTable != null)
            {
                return(cacheTable.Find(key));
            }
            return(null);
        }
 /// <summary>
 /// 添加或更新
 /// </summary>
 /// <param name="msgId">数据类型ID</param>
 /// <param name="key">Key</param>
 /// <param name="dataMessage">待添加的数据对象</param>
 internal void AddOrUpdate(int msgId, KeyString key, KeyString foreignKey, byte[] dataMessage, long cacheVersion = InnerCacheSystem.InitialCacheVersion)
 {
     InnerCacheTable tableCache = null;
     m_CacheTableDict.TryGetValue(msgId, out tableCache);
     if (tableCache != null) {
         tableCache.AddOrUpdate(key, foreignKey, dataMessage, cacheVersion);
     } else {
         InnerCacheTable newTableCache = new InnerCacheTable();
         newTableCache.AddOrUpdate(key, foreignKey, dataMessage, cacheVersion);
         m_CacheTableDict.Add(msgId, newTableCache);
     }
 }
        /// <summary>
        /// 添加或更新
        /// </summary>
        /// <param name="msgId">数据类型ID</param>
        /// <param name="key">Key</param>
        /// <param name="dataMessage">待添加的数据对象</param>
        internal void AddOrUpdate(int msgId, KeyString key, KeyString foreignKey, byte[] dataMessage, long cacheVersion = InnerCacheSystem.InitialCacheVersion)
        {
            InnerCacheTable tableCache = null;

            m_CacheTableDict.TryGetValue(msgId, out tableCache);
            if (tableCache != null)
            {
                tableCache.AddOrUpdate(key, foreignKey, dataMessage, cacheVersion);
            }
            else
            {
                InnerCacheTable newTableCache = new InnerCacheTable();
                newTableCache.AddOrUpdate(key, foreignKey, dataMessage, cacheVersion);
                m_CacheTableDict.Add(msgId, newTableCache);
            }
        }