Schlüsselwort nicht unterstützt:Metadaten

Schlüsselwort nicht unterstützt:Metadaten

Die von Ihnen übergebene Zeichenfolge ist keine gültige Datenbankverbindungszeichenfolge, sondern eine EF-Verbindungszeichenfolge, die eine SQL Server-Verbindungszeichenfolge in ihrem provider connection string enthält Parameter. WebSecurity.InitializeDatabaseConnection erwartet eine gültige Zeichenfolge für die Datenbankverbindung

Um zu vermeiden, die Verbindungszeichenfolge selbst zu analysieren, können Sie die EntityConnectionStringBuilder-Klasse verwenden, um die Zeichenfolge zu analysieren und die Datenbank-Verbindungszeichenfolge aus ihrer ProviderConnectionString-Eigenschaft abzurufen


Als mir das passierte, lag es daran, dass die Verbindungszeichenfolge Folgendes hatte:

providerName="System.Data.SqlClient"

aber es sollte sein:

providerName="System.Data.EntityClient"

denn wie in der anderen Antwort gesagt, handelt es sich um eine EF-Verbindungszeichenfolge.


Nur um eine weitere Möglichkeit hinzuzufügen (auf die ich gestoßen bin) – was der Fall sein könnte, wenn Sie eine Azure-WebApp entwickeln/verwalten, indem Sie eine in den Anwendungseinstellungen von Azure gespeicherte Verbindungszeichenfolge verwenden.

Neben jeder Verbindungszeichenfolge in den Anwendungseinstellungen befindet sich ein Dropdown-Menü für den Typ der Verbindungszeichenfolge – es ist sehr leicht zu vergessen, dies für Entity Framework-Werte auf „Benutzerdefiniert“ festzulegen und es auf der Standardeinstellung (SQL-Datenbank) zu belassen – was auch den obigen Fehler verursacht .