Heim > Datenbank > MySQL-Tutorial > Warum erstellt Entity Framework mehrere Tabellennamen, während meine Ansicht in MySQL einzelne Namen erwartet?

Warum erstellt Entity Framework mehrere Tabellennamen, während meine Ansicht in MySQL einzelne Namen erwartet?

Patricia Arquette
Freigeben: 2024-10-28 20:38:02
Original
794 Leute haben es durchsucht

Why Does Entity Framework Create Plural Table Names While My View Expects Singular Names in MySQL?

Entity Framework erstellt mehrere Tabellennamen, aber View erwartet einen einzelnen Tabellennamen

Bei Verwendung von MySQL .NET Connector 6.4.4.0 und Entity Framework 4.1 können Entwickler auf ein Problem stoßen, bei dem Entity Framework erstellt eine Tabelle mit einem Pluralnamen, aber die Ansicht für das Objekt erwartet einen Singular-Tabellennamen. Dies kann beim Versuch, die Ansicht anzuzeigen, zu Fehlern führen.

Fehlerdetails

Der Fehler tritt normalerweise mit der folgenden Ausnahme auf:

Table 'mydb.vote' doesn't exist
Nach dem Login kopieren

Diese Ausnahme wird ausgelöst, wenn die Die Ansicht versucht, auf eine Tabelle mit dem Namen „vote“ zuzugreifen, wenn Entity Framework die Tabelle mit dem Namen „votes“ erstellt hat (vorausgesetzt, die Entitätsklasse heißt „Vote“).

Ursache

Die Ursache Dieser Fehler hängt mit der Entity Framework-Konvention zur Pluralisierung von Tabellennamen zusammen. Standardmäßig pluralisiert Entity Framework den Namen der Entitätsklasse, wenn der Tabellenname generiert wird. Allerdings können bestimmte externe Faktoren, wie etwa die Unterstützung des MySQL .NET Connectors für Entity Framework, dieses Verhalten beeinflussen.

Lösung

Um dieses Problem zu beheben, können mehrere Schritte unternommen werden:

  1. Stellen Sie sicher, dass „DropDatabaseIfExists“ oder „DropCreateDatabaseAlways“ verwendet wird:Die ApplicationStart-Methode sollte den Datenbankinitialisierer korrekt festlegen.
  2. Entfernen Sie die Singular/Plural-Diskrepanz aus der Datenbank: Dies kann durch Entfernen der PluralizingTableNameConvention oder durch Aufrufen von ToTable("Votes") in OnModelCreating erreicht werden.
  3. Stellen Sie sicher, dass die Datenbank vorhanden ist, bevor Sie die Anwendung ausführen: Das MySQL .NET Der Connector erstellt die Datenbank möglicherweise nicht automatisch, daher ist möglicherweise eine manuelle Erstellung der Datenbank erforderlich.

Durch Befolgen dieser Schritte wird die Diskrepanz zwischen dem von Entity Framework erstellten Plural-Tabellennamen und dem von Entity Framework erwarteten Singular-Tabellennamen behoben Ansicht kann gelöst werden.

Das obige ist der detaillierte Inhalt vonWarum erstellt Entity Framework mehrere Tabellennamen, während meine Ansicht in MySQL einzelne Namen erwartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage