J'ai créé le modèle à partir d'une base de données existante en utilisant Entity Framework dans ASP.NET Core.
Voici le modèle de la table Market
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; }
}
Cependant, j'ai changé le type de données MarketId
en int
dans la base de données. Maintenant, je veux mettre à jour le modèle.
J'ai trouvé un lien mais ce lien crée à nouveau le modèle entier https://docs.Microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db
Comment puis-je mettre à jour le modèle sans créer de nouveau modèle et utiliser la chaîne de connexion dans appsettings.json
?
Pour mettre à jour dbcontext entier, utilisez la commande ci-dessous. lien pour plus de détails
"La construction a échoué" sur la base de données First Scaffold-DbContext
Scaffold-DbContext -Connection "Server=(local);Database=DefenderRRCart;Integrated Security=True;Trusted_Connection=True;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir RRStoreContext.Models -context RRStoreContext -Project RR.DataAccess -force
Pour mettre à jour à partir d'Azure Connection et de la connexion locale
Scaffold-DbContext "Server=<Server Name>,1433;Initial Catalog=<Database Name>;Persist Security Info=False;User ID=<user id>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Entity -context <Context Name> -Project <project Name> -force
Pour créer le nouveau contexte
Scaffold-DbContext "Server=<Server Name>,1433;Initial Catalog=<Database Name>;Persist Security Info=False;
User ID=<User Id>;Password=<Password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection
Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir <Dir Name>
Une option est-
Vous pouvez utiliser Scaffold-DbContext
commande avec -force
drapeau. De cette façon, vous pouvez forcer l'échafaudage à remplacer les fichiers de modèle existants.
exemple de commande -
Scaffold-DbContext "<ConnectionString>" Microsoft.EntityFrameworkCore.SqlServer -t <tablename> -f
Remplacez ConnectionString TableName selon vos besoins.