コード例 #1
0
 /// <summary>
 /// 添加配置
 /// </summary>
 /// <param name="multiDbContextAttr"></param>
 /// <param name="xncfDatabaseDbContextType"></param>
 public void TryAdd(MultipleMigrationDbContextAttribute multiDbContextAttr, Type xncfDatabaseDbContextType)
 {
     //查看是否已经包含 IDatabaseRegister
     if (!this.ContainsKey(multiDbContextAttr.XncfDatabaseRegisterType))
     {
         //添加 MultipleDatabaseType 对应集合
         this[multiDbContextAttr.XncfDatabaseRegisterType] = new Dictionary <MultipleDatabaseType, Type>();
     }
     //加入配置
     this[multiDbContextAttr.XncfDatabaseRegisterType][multiDbContextAttr.MultipleDatabaseType] = xncfDatabaseDbContextType;
 }
コード例 #2
0
        /// <summary>
        /// 添加配置
        /// </summary>
        /// <param name="multiDbContextAttr"></param>
        /// <param name="xncfDatabaseDbContextType">实现了 IXncfDatabase 接口的类型</param>
        /// <returns></returns>
        public string TryAdd(MultipleMigrationDbContextAttribute multiDbContextAttr, Type xncfDatabaseDbContextType)
        {
            var msg = $"Multiple databases detected, DbContext Type:{multiDbContextAttr.XncfDatabaseRegisterType.FullName}\t>\t{xncfDatabaseDbContextType.FullName} |\t{multiDbContextAttr.MultipleDatabaseType}";

            //查看是否已经包含 MultipleDatabaseType
            if (!this.ContainsKey(multiDbContextAttr.MultipleDatabaseType))
            {
                //添加 MultipleDatabaseType 对应集合
                this[multiDbContextAttr.MultipleDatabaseType] = new Dictionary <Type, Type>();
            }

            //加入配置
            this[multiDbContextAttr.MultipleDatabaseType][multiDbContextAttr.XncfDatabaseRegisterType] = xncfDatabaseDbContextType;

            //同步添加到 XncfDatabaseDbContextPool
            XncfDatabaseDbContextPool.Instance.TryAdd(multiDbContextAttr, xncfDatabaseDbContextType);

            return("\t" + msg);
        }