Hallo allerseits!
Ich selber habe lange damit zugebracht zu schauen wie ich EntityFrameworkCore möglichst so nutzen kann wie EF6 (EntityFramework 6).
Nach einer langen Zeit auf Google habe ich es mittlerweile auf eine recht einfache Art hinbekommen, die so jeder übernehmen kann.
Ich spare mir die meisten Erklärungen, ich zeige die Schritte die ihr anwenden müsst.
Inkompatibilität wenn schon andere MySQL Packages installiert sind, kann durchaus vorkommen, bitte vorher löschen.
Erster Schritt
Ladet folgende NuGet Packages herunter
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Tools
- Pomelo.EntityFrameworkCore.MySQL
- Pomelo.EntityFrameworkCore.MySQL.Designer
Der zweite Schritt
Jetzt müsst ihr eurer Projekt entladen, und dann die CSProj Datei bearbeiten.
Dort fügt ihr einfach folgende zwei Informationen ein:
GenerateRuntimeConfigrationFiles ist ein Workaround was den Fehler behebt wenn er beim Datenbank-Model erzeugen den Net.Core nicht finden kann.
Tools.DotNet... benötigen wir damit wir (dotnet ef...) nutzen können.
Und jetzt der dritte Schritt
Jetzt compilieren wir einmal das komplette Projekt (dafür das entladene Projekt wieder laden und dann neu erstellen).
Wenn das erfolgreich war, können wir zum nächsten Schritt springen. Falls nicht, alle bisherigen MySQL Funktionen ausklammern,
damit wir gleich das Model generieren können, müssen wir einmal compiliert haben.
Jetzt der vierte Schritt, zusammgengefasst
Wir öffnen jetzt Powershell oder CMD (am besten als Administrator).
Jetzt navigieren wir zu unseren Projektfiles (wo die .csproj Datei liegt).
Beispiel: "cd C:\Users\Administrator\ragemp_project\proj"
Dort führen wir schnell noch einen kleinen Befehl aus - "dotnet restore"
Um jetzt die Modelle zu generieren, müssen wir uns einen kleinen Befehl zusammenschreiben.
Hier die richtigen MySQL Daten hinterlegen.
Wenn wir das jetzt ausführen, und wir keine Fehler erhalten, müssten im Projekt jetzt die Modelle liegen unter dem Ordner "Model".
Wenn ihr Änderungen an der Datenbank durchführt, dann müsst ihr das nochmal ausführen, am besten schreibt ihr dafür eine .bat Datei!
Der fünfte Schritt, ein Beispielcode
Jetzt haben wir EntityFrameworkCore funktionsfähig in das Projekt integriert. Wir können jetzt auf die Datenbank zugreifen, siehe Beispiel!
Bei Fragen einfach melden, oder falls ich etwas nicht richtig geschrieben habe einfach bescheid geben!
Viel Spaß damit.
Mit freundlichen Grüßen,
Max Jackson
ZitatDer Server startet nicht ohne die richtigen "runtimes", ich habe meinen Runtime-Ordner hochgeladen von der aktuellsten Server-Version (0.3.5)
https://mega.nz/#!NJJzmTSa!eIN…t8fazAi4HSXWA4G9APw5d_E6E
Bereits existierende Dateien einfach überspringen.