Update entity-Klasse in ASP.NET Core Entity Framework
Erstellt habe ich das Modell aus der bestehenden Datenbank mit Entity Framework in ASP.NET Core.
Hier ist das Modell der Market
Tabelle
public partial class Market
{
public Guid MarketId { get; set; }
public string City { get; set; }
public string CityF { get; set; }
public string Name { get; set; }
public string NameF { get; set; }
public int SortOrder { get; set; }
public bool IsActive { get; set; }
}
Allerdings habe ich ändern die MarketId
Datentyp int
in der Datenbank. Jetzt möchte ich, um das Modell zu aktualisieren.
Gefunden link, aber diesen link erstellen das gesamte Modell wieder https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
Wie kann ich ein update für das Modell ohne die Schaffung von neuen Modell und mit den connection-string in appsettings.json
?
- Sie können
Scaffold-DbContext
Befehl mit-force
Flagge. Auf diese Weise können Sie erzwingen, Gerüst, um das überschreiben existierender Modell-Dateien. - warum nicht einfach ändern
MarketId
zuint
? - Manuell ändern ist nicht die beste option.
- können Sie bitte mir das Beispiel
- dies ist Beispiel-Befehl -
Scaffold-DbContext "<ConnectionString>" Microsoft.EntityFrameworkCore.SqlServer -t <tablename> -f
ersetzen ConnectionString & tablename - Beachten Sie auch, müssen Sie dies tun, Wann immer Sie eine änderung in der DB wie Spalte Hinzugefügt oder entfernt oder geändert werden,... Wenn Sie erzwingen, dass ein Gerüst aktualisiert, verlieren Sie alle änderungen, die Sie vorgenommen haben, um die Modell-Datei nicht die ich mir denken kann, warum jemand würde das tun.
- Hast du versucht mit Gerüst-DbContext-Befehl?
- Ja, es funktionierte Dank
- toll 🙂 aber wenn Sie kommen über eine andere option bitte teilen Sie Sie hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine option ist-
Können Sie
Scaffold-DbContext
Befehl mit-force
Flagge. Auf diese Weise können Sie erzwingen, Gerüst, um das überschreiben existierender Modell-Dateien.Beispiel-Befehl -
Ersetzen ConnectionString & TableName wie pro Ihre Anforderungen.
OnModelCreating
und der extra context entfernt.Aktualisieren gesamte dbcontext verwenden Sie den nachstehenden Befehl. link, um mehr details
"Build failed", auf die Datenbank der Ersten Gerüst-DbContext
Aktualisieren von Azure-Verbindung und LAN-Verbindung
Erstellen einen neuen Kontext