sql >> Databasteknik >  >> RDS >> Mysql

Samma applikation, olika databaser:Entity framework 6.X + MySQL + SQL Server

Så den slutliga lösningen är:

  1. Skapa en egen DbConfiguration-efterföljare med blackjack och hookers:

        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
        }   
    
  2. Markera Ms_SqlContext med MultipleDbConfiguration (och gör inget annat med den typen av DbContext)

        [DbConfigurationType(typeof(MultipleDbConfiguration))]
        partial class Ms_SqlContext
        {
        }
    
  3. Markera Ms_SqlContext med MultipleDbConfiguration och justera MY_SqlContext(strängnamnOrConnectionString) med anropet MultipleDbConfiguration.GetMySqlConnection(nameOrConnectionString)

        [DbConfigurationType(typeof(MultipleDbConfiguration))]
        partial class MY_SqlContext : DbContext
        {
                    public MY_SqlContext(string nameOrConnectionString) : base(MultipleDbConfiguration.GetMySqlConnection(nameOrConnectionString), true)
                    {}
        }
    
  4. DET ÄR DET!!!



  1. Hur man skriver valda uttalanden

  2. Hitta datumluckor med mysql

  3. Doktrin - Hur skriver man ut den riktiga sql-filen, inte bara det förberedda uttalandet?

  4. Heroku och Rails:Gem Load Error med Postgres, men det är specificerat i GEMFILE