Forum: PC-Programmierung MySQL EF Core Scaffold => deps.json does not exists


von Matthias S. (da_user)


Lesenswert?

Hi,

ich versuche gerade meine ersten Schritte mit dem Entity Framework für 
MySQL-Datenbanken. Ich arbeite mich dazu durch das offizielle Tutorial, 
im speziellen über den Package Manager: 
https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-scaffold-example.html#connector-net-entityframework-core-scaffold-packagemgr

Ich konnte jetzt schon - mit leichten Abwandlungen - mit .Net 4.7.2 
(also ohne Core) auf die Datenbank zugreifen. Dazu muss ich allerdings 
eine ältere Version des EF verwenden (bzw. eine ohne Core), welche keine 
Spalten vom Typ 'DATETIME' lesen kann, welche ich aber unbedingt 
brauche.
Also bin ich auf .Net Core 3.1 umgestiegen. Da kann ich dann die 
akutellste Versionen des EFs verwenden (5.0.8), die auch damit umgehen 
können sollte. (Gut, es hätte eine Forms-Anwendung werden sollen, aber 
da muss ich mir was anderes überlegen).

Jetzt funktioniert der letzte Schritt vom Tutorial nicht. Das ist Nr. 4 
und löst den Scaffold aus:
1
Scaffold-DbContext "connection-string" MySql.EntityFrameworkCore -OutputDir sakila -f

Bei mir gibt die Ausgabe aber leider einen Fehler aus:
1
Build started...
2
Build succeeded.
3
The specified deps.json [[...]\Documents\Visual Studio 2019\Projects\Database_NetCore_Test2\Database_NetCore_Test2\bin\Debug\netcoreapp3.1\Database_NetCore_Test2.deps.json] does not exist

Die Datei ist allerdings vorhanden.

Ich habe natürlich schon gegoogelt. Und tatsächlich Leute gefunden, die 
einen ähnlichen Fehler mit EF hatten, allerdings bei "Add-Migration", 
und es hat sich wohl beheben lassen, in dem man den "Azure" 
Arbeitsbereich deinstalliert hat. Den habe ich aber nicht.

Kann da wer helfen?

: Bearbeitet durch User
von Matthias S. (da_user)


Lesenswert?

So, manchmal hilft es einfach, einen Thread zu eröffnen. Zumindest 
teilweise:

Das Problem mit der nicht auffindbaren deps.json konnte ich lösen: Das 
Projekt lag auf einem UNC-Pfad (Firmennetzwerk). In einen lokalen Pfad 
kopiert und "gut".
Fast zumindest - auch die MySql.EntityFrameworkCore V5.0.8 kann wohl - 
entgegen anderer Behauptungen (https://bugs.mysql.com/bug.php?id=102381) 
nicht mit dem Datentyp "timestamp" umgehen:
1
Could not find type mapping for column '[...].last_time' with data type 'timestamp'. Skipping column.

Toll. Nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.