Konfigurieren Sie mehrere Datenbank-Entity Framework 6

In meiner Lösung habe ich 2 Projekte, die Entity Framework 6 verwenden. Jedes verweist auf eine andere Datenbank, wobei beide dieselben Daten verwenden - SQL Server. Ein drittes Projekt in meiner Lösung muss beide Datenbanken verwenden. Mein Problem ist, wie man diesen Kontext konfiguriert. Ich habe versucht, eine Konfigurationsklasse in einer separaten Assembly zu erstellen:

namespace OSAD_Base
{
    class EfDbConfiguration : DbConfiguration
    {
        public EfDbConfiguration()
        {
            SetProviderServices(SqlProviderServices.ProviderInvariantName, SqlProviderServices.Instance);
        }
    }
}

und Verweisen auf diese Konfiguration in jeder Kontextklasse:

namespace IntegrationDb
{
    [DbConfigurationType("OSAD_Base.EfDbConfiguration, OSAD_Base")]
    public partial class IntegrationEntities : DbContext
    {
        public IntegrationEntities(string connectionString)
            : base(connectionString)
        {
        }
    }
}

Wenn ich meinen ersten initialisiere, funktioniert alles korrekt, aber wenn der zweite Kontext initialisiert wird (Reihenfolge spielt keine Rolle), erhalte ich folgende Fehlermeldung:

Es wurde eine Instanz von 'EfDbConfiguration' festgelegt, dieser Typ wurde jedoch nicht in derselben Assembly wie der Kontext 'B1Entities' erkannt. Setzen Sie den DbConfiguration-Typ in dieselbe Assembly wie den DbContext-Typ, verwenden Sie DbConfigurationTypeAttribute für den DbContext-Typ, um den DbConfiguration-Typ anzugeben, oder legen Sie den DbConfiguration-Typ in der Konfigurationsdatei fest. Sehenhttp://go.microsoft.com/fwlink/?LinkId=260883 für mehr Informationen.*

Ich habe auch versucht, einen Entityframework-Abschnitt in meiner app.config (des Startprojekts) zu erstellen, habe jedoch den folgenden Fehler erhalten:

Konfigurationssystem konnte nicht initialisiert werden

Unbekannter Konfigurationsabschnitt entityFramework

Wie kann ich zwei separate EF-Projekte in derselben Lösung verwenden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage