verwendetes Datenbanksystem: MSSQL
Guten Morgen.
In meiner .Net Core 3.1 habe ich per Database First meine Models anlegen lassen.
dotnet ef dbcontext scaffold ...
Funktionierte prima und ich kann in die Datenbank schreiben und lesen.
Das war vor ca. 14 Tagen.
Heute geht es nicht mehr, obwohl ich kein Änderungen gemacht hatte.
In der DB habe ich eine neue Tabelle angelegt und wollte diese nun einfügen.
Bei Ausführen des Befehls kommt leider immer nur> Fehlermeldung:
Build failed
Ich kann aber das Projekt und die komplette Projektmappe problemlos erstellen.
Es kommen auch keine Fehler oder sonst etwas.
Alle benötigten DLL's sind vorhanden.
Alle EF DLLs sind aktuell.
Also exakt dasselbe wie vor 14 Tagen, keine Änderung, aber geht nicht mehr.
Kennt jemand hierfür eine Lösung?
Also ich habe nun im DbContext das DbSet und die Klasse an sich manuell hinzugefügt..
so geht's zumindest.
Den Database First Ansatz solltest du auch nicht mehr nutzen.
Dieser wird auch meines Wissens nicht mehr im aktuellen EF Core unterstützt bzw. ist Code First hier der vorgegeben Weg.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Ok, vielen Dank.
Das verstehe ich zwar nicht, aber ich nehme es hin wie es ist.
Ich meine - was ist wenn ich einfach eine fertige Datenbank habe und diese nutzen möchte...?
schuppsl, dazu musst Du verstehen, wie das Zeug funktioniert; wenn Du es nur "hin nimmst" statt es zu verstehen (zB über die Doku) - ja, dann wirds schwer.
EF macht nichts anderes als Klassen (POCOs) als Entitäten gegen eine Datenbank zu verwenden.
Ob die Entitäten gehen eine neue oder eine alte DB verwendet wird ist EF egal.
Database First hat früher nichts anderes gemacht als das Schema auszulesen und Dir eben Klassen zu erstellen - ob Du das von Hand oder über einen Generator machst (den es weiterhin gibt) macht keinen Unterschied.
Was komplett weggefallen ist, ist Database First mit Hilfe von EDMX.
IIRC kann das Scaffolding auch das Schema in Migrations übersetzen; wird aber meines Wissens nicht alles unterstützt.
Also exakt dasselbe wie vor 14 Tagen, keine Änderung, aber geht nicht mehr.
Das ist ne Aussage, die in 100% der Fälle nie stimmt.
Wenn es keine Änderung gibt, dann gibt es auch kein anderes Verhalten. irgendwas muss also anders sein - Du weißt es halt nicht (wir auch nicht).
Gibt zig Sachen, die Du prüfen kannst. Nur "nichts geändert" stimmt halt nie.
Die Erkenntnis endet meist in "ups, hab ich nicht dran gedacht" oder "das wusste ich gar nicht" 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code