Ich erstelle eine neue ASP-Net-Core-App und muss eine Legacy-Datenbank unterstützen. Deshalb bin ich auf diesen Artikel gestoßen, in dem ziemlich genau erklärt wird, wie man alles zum Laufen bringt und zunächst die Datenbank zum Laufen bringt. Ich habe jedoch einige Fragen, als Sie damals EF 6 verwendet haben, wenn Sie in DB/Model gegangen sind. Zuerst hatte der generierte DbContext Folgendes:
Code: Select all
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
damit Ihre Datenbank nicht versehentlich geändert wird, habe ich gerade den ef-core-Kontext für dieselbe Datenbank generiert und in der OnModelCreating-Methode habe ich die gesamte Konfiguration, die vorhanden sein sollte, wenn zuerst Code erstellt wurde. Ich habe das gesehen und versucht, das obige Verhalten nachzuahmen, und überraschenderweise habe ich eine Ausnahme erhalten, dieselbe, die ich ausgelöst habe.
Also meine Fragen sind:
Ist es notwendig, diese Methode mit ihrer gesamten Konfiguration auszuführen?
Wenn ich sie am Ende ausführe und versehentlich mein Modell ändere, wird dadurch meine Datenbank geändert?
Wenn ich die Methode einfach laufen lasse, ohne etwas zu tun, kann ich dann weiterhin die generierten Klassen und den DbContext verwenden?