Verwendung von MySql mit Entity Framework 4 und dem Code-First Development CTP
Problem:
Ein Versuch, MySql mit Entity Framework 4 und dem Code-First Development CTP zu verwenden, führt zu einer ProviderInkompatiblen Ausnahme, sowohl beim Versuch, die Datenbank automatisch zu generieren, als auch wenn die Datenbank bereits vorhanden ist.
Lösung:
- Stellen Sie sicher, dass die Datenbank vorhanden ist, bevor Sie den Code-First-Ansatz verwenden. Entity Framework kann die Datenbank nicht mit MySql für Sie erstellen.
- Erstellen Sie eine Verbindungszeichenfolge für jeden verwendeten DB-Kontext und verwenden Sie dabei den DBContext-Namen als Verbindungszeichenfolgennamen.
- Beachten Sie, dass Entity Framework die verwendet Name der DBSet-Eigenschaft als Tabellenname.
- Fügen Sie eine DataFactory zur web.config hinzu, wenn Sie Ihre MVC-Site mit MySQL bereitstellen, da verschiedene MySQL-Konnektoren und -Versionen dies möglicherweise erfordern. Stellen Sie sicher, dass die Versionsnummer mit der mit der Site bereitgestellten MySQL.Data.dll übereinstimmt.
Zusätzliche Hinweise:
- Kopieren Sie die erforderlichen MySQL-DLLs in die Bereitstellungsverzeichnis, um die Versionskompatibilität sicherzustellen.
- Eine Verbindungszeichenfolge für einen DB-Kontext mit dem Namen „NerdDinners“ wäre beispielsweise:
<add name="NerdDinners"
connectionString="Server=localhost; Database=NerdDinners; Uid=root; Pwd=;"
providerName="MySql.Data.MySqlClient"/>
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonWie verwende ich MySQL mit Entity Framework 4 und Code-First Development CTP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!