Metadaten in MVC4 mit Entity Framework und MySql können nicht abgerufen werden
In einem Versuch, ein Datenmodell für MVC4 mit Entity Framework 4.4 zu erstellen MySql, Benutzer können auf einen Fehler im Zusammenhang mit dem Abrufen von Metadaten stoßen. Diese Fehlermeldung lautet normalerweise:
Unable to retrieve metadata for BTD.Data.Product using the same
DbCompiledModel to create context against different types of database
servers is not supported. Instead, create a separate DbCompiledModel
for each type of server being used.
Gründe für den Fehler
Dieses Problem kann dadurch entstehen, dass das MVC4-Controller-Gerüst nicht in der Lage ist, MySQL-Verbindungszeichenfolgen genau zu erkennen Generieren des Entity Framework (EF) CRUD-Codes.
Lösung
Um den Fehler zu beheben, führen Sie die folgenden Schritte aus:
-
Ändern die Verbindungszeichenfolge:
Ändern Sie beim Generieren von EF CRUD-Code die Verbindungszeichenfolge so, dass sie auf eine Microsoft SQL Server-Datenbank verweist (z. B. mithilfe von System.Data.SqlClient).
-
Scaffold the Code:
Fügen Sie den Controller hinzu und zeigen Sie das Gerüst an, während Sie die geänderte Verbindungszeichenfolge verwenden.
-
Verbindungszeichenfolge zurücksetzen:
Sobald das Gerüst fertig ist, setzen Sie die Verbindung zurück string zur ursprünglichen MySql-Konfiguration mithilfe von MySql.Data.MySqlClient.
Zusätzliche Hinweise
- Es wurde beobachtet, dass der Wechsel zu einer SQL Server-Datenbank , das Erstellen eines Gerüsts für den Code und das Zurücksetzen auf die MySql-Verbindungszeichenfolge können das Problem beheben.
- Stellen Sie sicher, dass Ihre MySql-Version unterstützt wird und der entsprechende .NET-Anbieter installiert ist.
- Überprüfen Sie die Datenbanktabellenstruktur und stellen Sie sicher, dass es mit dem EF-Datenmodell übereinstimmt.
- Erwägen Sie die Verwendung des [Code-First-Migrationsansatzes](https://docs.microsoft.com/en-us/ef/core/get-started/using -mvc/migrations) mit EF.
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Metadaten können nicht abgerufen werden' in MVC4 mit Entity Framework und MySQL behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn