Tutoriel : Modifier la base de données pour EF Database First avec ASP.NET application MVC
À l’aide de MVC, Entity Framework et ASP.NET la structure Scaffolding, vous pouvez créer une application web qui fournit une interface à une base de données existante. Cette série de tutoriels vous montre comment générer automatiquement du code qui permet aux utilisateurs d’afficher, de modifier, de créer et de supprimer des données qui résident dans une table de base de données. Le code généré correspond aux colonnes de la table de base de données.
Ce tutoriel se concentre sur la mise à jour de la structure de base de données et la propagation de cette modification dans l’application web.
Dans ce tutoriel, vous allez :
- Ajout d’une colonne
- Ajouter la propriété aux vues
Prérequis
Ajout d’une colonne
Si vous mettez à jour la structure d’une table dans votre base de données, vous devez vous assurer que votre modification est propagée au modèle de données, aux vues et au contrôleur.
Pour ce tutoriel, vous allez ajouter une nouvelle colonne à la table Student pour enregistrer le deuxième prénom de l’étudiant. Pour ajouter cette colonne, ouvrez le projet de base de données, puis ouvrez le fichier Student.sql. Par le biais du concepteur ou du code T-SQL, ajoutez une colonne nommée MiddleName qui est un NVARCHAR(50) et autorise les valeurs NULL.
Déployez cette modification dans votre base de données locale en lançant votre projet de base de données (ou F5). Le nouveau champ est ajouté à la table. Si vous ne le voyez pas dans le SQL Server Explorateur d'objets, cliquez sur le bouton Actualiser dans le volet.
La nouvelle colonne existe dans la table de base de données, mais elle n’existe pas actuellement dans la classe de modèle de données. Vous devez mettre à jour le modèle pour inclure votre nouvelle colonne. Dans le dossier Modèles , ouvrez le fichier ContosoModel.edmx pour afficher le diagramme de modèle. Notez que le modèle Student ne contient pas la propriété MiddleName. Cliquez avec le bouton droit n’importe où sur l’aire de conception, puis sélectionnez Mettre à jour le modèle à partir de la base de données.
Dans l’Assistant Mise à jour, sélectionnez l’onglet Actualiser , puis tables>dbo>Student. Cliquez sur Terminer.
Une fois le processus de mise à jour terminé, le diagramme de base de données inclut la nouvelle propriété MiddleName . Enregistrez le fichier ContosoModel.edmx . Vous devez enregistrer ce fichier pour que la nouvelle propriété soit propagée à la classe Student.cs . Vous avez maintenant mis à jour la base de données et le modèle.
Générez la solution.
Ajouter la propriété aux vues
Malheureusement, les vues ne contiennent toujours pas la nouvelle propriété. Pour mettre à jour les vues, vous disposez de deux options : vous pouvez soit recréer les vues en ajoutant à nouveau une structure pour la classe Étudiant, soit ajouter manuellement la nouvelle propriété à vos vues existantes. Dans ce tutoriel, vous allez ajouter à nouveau la structure, car vous n’avez apporté aucune modification personnalisée aux vues générées automatiquement. Vous pouvez envisager d’ajouter manuellement la propriété lorsque vous avez apporté des modifications aux vues et que vous ne souhaitez pas perdre ces modifications.
Pour vous assurer que les vues sont recréées, supprimez le dossier Students sous Affichages, puis supprimez StudentsController. Cliquez ensuite avec le bouton droit sur le dossier Contrôleurs et ajoutez une structure pour le modèle Étudiant . Là encore, nommez le contrôleur StudentsController. Sélectionnez Ajouter.
Regénérez la solution. Les vues contiennent désormais la propriété MiddleName.
Étapes suivantes
Dans ce tutoriel, vous allez :
- Ajout d’une colonne
- Ajout de la propriété aux vues
Passez au tutoriel suivant pour découvrir comment personnaliser l’affichage afin d’afficher des détails sur un enregistrement d’étudiant.