したがって、最終的な解決策は次のとおりです。
-
ブラックジャックとフッカーを使用して独自のDbConfigurationサクセサを作成します:
public class MultipleDbConfiguration : DbConfiguration { #region Constructors public MultipleDbConfiguration() { SetProviderServices(MySqlProviderInvariantName.ProviderName, new MySqlProviderServices()); } #endregion Constructors #region Public methods public static DbConnection GetMySqlConnection(string connectionString) { var connectionFactory = new MySqlConnectionFactory(); return connectionFactory.CreateConnection(connectionString); } #endregion Public methods }
-
MultipleDbConfigurationでMs_SqlContextをマークします(そして、その種のDbContextでは他に何もしません)
[DbConfigurationType(typeof(MultipleDbConfiguration))] partial class Ms_SqlContext { }
-
MultipleDbConfigurationでMs_SqlContextをマークし、MultipleDbConfiguration.GetMySqlConnection(nameOrConnectionString)
を呼び出してMY_SqlContext(string nameOrConnectionString)を調整します。[DbConfigurationType(typeof(MultipleDbConfiguration))] partial class MY_SqlContext : DbContext { public MY_SqlContext(string nameOrConnectionString) : base(MultipleDbConfiguration.GetMySqlConnection(nameOrConnectionString), true) {} }
-
それです!!!