Ich würde denken, dass die Übergabe der Optionen in die DbContext-Klasse über DI die Verbindungszeichenfolge übergeben hätte, aber die DbContect-Klasse funktioniert nicht, wenn ich diese OptionBuilder.UseSqlServer in der OnConfiguring-Methode nicht habe.
Wie übergebe ich eine Verbindungszeichenfolge an DbContext des ersten Entity-Frameworks? Meine Datenbankgenerierung funktioniert ordnungsgemäß, wenn sich sowohl DbContext als auch die Verbindungszeichenfolge in web.config im selben Projekt befinden und denselben Namen haben.
Als Ergänzung von @ Stefans Antwort gibt es einen anderen Weg, dies zu erreichen. Sie können die Db-Verbindungszeichenfolge in der OnCongfiguring-Methode der DbContext-Klasse festlegen, ohne den DbContext-Dienst in startup.cs hinzuzufügen.
Wenn Sie von DbContext abgeleitet sind und den parameterlosen Konstruktor verwenden, wird eine Verbindungszeichenfolge aus der Datei web.config geladen. Sie haben auch die Möglichkeit, den connectionString mit einem der anderen DbContext-Konstruktoren explizit anzugeben.
Jetzt möchte ich die Verbindungszeichenfolge von einer anderen Art von Konfigurationsquelle abrufen, aber eine ProviderIncompatibleException wird ausgelöst. Die Ausnahme enthält die folgende Nachricht: "The provider did not return a providermanifesttoken string". Wie kann ich also den Anbieternamen in einer Verbindungszeichenfolge angeben?
Sie können Aufrufe der Verbindungszeichenfolge aus der Kontextklasse DBContext oder IdentityDbContext bei Verwendung von ASPNET Identity anhalten und die zurückgegebene Verbindungszeichenfolge ändern. In meinem Fall habe ich, anstatt die gesamte Verbindungszeichenfolge zu verschlüsseln, nur das Kennwort verschlüsselt. Sie können denselben Ansatz verwenden, um die.
Im Allgemeinen sollten Sie es beim Start aus config lesen und dann die Verbindungszeichenfolge verwenden, um einen Entity Framework DbContext-Dienst für Ihren Prozess zu konfigurieren.
Und dann in der Webanwendung hatte ich Verbindungszeichenfolge in web.config. Ich habe auch einen DefaultConnection-Wert, den ich für die Mitgliedschaft-basierte Identifizierung verwendet habe. Ich habe auch einen DefaultConnection-Wert, den ich für die Mitgliedschaft-basierte.
Diese Verbindungszeichenfolge hat bereits mehrere Abfragen in derselben Anforderung durchgeführt. Daher kann es nicht sein, dass die Anmeldeinformationen fehlerhaft sind. Daher kann es nicht sein, dass die Anmeldeinformationen fehlerhaft sind.
Scaffold-DbContext ist beispielsweise nur in Entity Framework Core verfügbar. For example, Scaffold-DbContext is only available in Entity Framework Core. Wenn Sie bei einer Datenbank das Reverse Engineering Zurückentwicklung in ein Entity Framework 6-Modell durchführen müssen, finden Sie weitere Informationen unter Code First to an Existing Database Entity Framework Code First für eine.