/// <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; }
/// <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); }