Comment mettre à jour le modèle lors de l'utilisation de la base de données de première approche
J'ai utilisé EntityFramework base de données de base afin de créer d'abord le modèle de comme illustré dans l'EF documentation de Base
Mais je ne sais pas comment mettre à jour le modèle lorsque la base de données a été modifier.
- Il est appelé Entity Framework Core 1.0
Vous devez vous connecter pour publier un commentaire.
Vous pouvez re-échafaudage le modèle en exécutant la commande que vous avez couru avec le
-Force
ajout de l'option. Ce sera le résultat le contenu du dossier spécifié sur-écrit. En utilisant le Gestionnaire de paquets de la Console exemple de l'EF de Base docs, la version révisée de la commande devient:Alternativement, si vous utilisez Commandes CLI, il devient:
Toutefois, vous devriez envisager d'utiliser des Migrations pour garder votre modèle et schéma de base de données synchronisés les uns avec les autres. De cette façon, vous apportez des modifications au modèle, puis de les propager à la base de données.
-Tables
argument (learnentityframeworkcore.com/migrations/commands/...) pour indiquer la table que vous souhaitez à l'échafaud:-Tables Products
, ou si vous êtes à l'aide de la CLI, l'argument est-table
(singulier) learnentityframeworkcore.com/migrations/commands/...-table
Astuce Supplémentaire
Si vous allez mettre à jour les modèles de temps en temps, voici un moyen pratique pour simplifier le processus.
Sur la tête de menu Outils > Outils Externes, puis Ajouter un nouveau menu et de remplir les données suivantes:
Titre:
Commande:
Arguments:
Répertoire Initial:
Puis éventuellement cocher la case "Utiliser la fenêtre de Sortie", hit Appliquer et OK.
Quand vous allez à Outils de nouveau, ce nouveau menu devrait être là et prêt pour la réutilisation, dans juste un clic d'un bouton!
Vous avez besoin de faire une migration de NE PAS rescaffold ou vous allez perdre tout le travail effectué sur les modèles, tels que les validations de données.
Utiliser la commande Add-migration NameOfMigrationfile qui créent dans la migration de dossier au niveau de l'application.
Si l'opération de migration n'est pas activé, alors nous pouvons utiliser des dessous de commandes dans la Console du Gestionnaire de Package.
H > Enable-migrations-force (Si automigration pas activer)
H > Ajoutez-la migration MigrationName
H > mise à Jour de la base de données -force (Si add-migration de commande ne fonctionne pas alors nous pouvons utiliser udate de commande)
Si nous avons de la personnaliser en
dbcontext
classe E. g. ajouterLoggerFactory
et puis après nous sommes à l'aide de('Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force')
. cette commande ensuite tous personnaliser les modifications seront perdues.Ouvrir votre ContextModel.edmx fichier pour afficher le diagramme de modèle. Cliquez n'importe où sur la surface de dessin, et sélectionnez Modèle de mise à Jour de la Base de données...
Dans l'Assistant de mise à Jour, sélectionnez le onglet Actualiser et sélectionnez votre table puis cliquez sur Finition bouton.
Pour plus de détails de l'image visite: EF Première Base de données avec ASP.NET MVC: la Modification de la Base de données