0% ont trouvé ce document utile (0 vote)
149 vues4 pages

Enoncé TPGestionProduits Partie3

Transféré par

Yasmine ZAIER
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
149 vues4 pages

Enoncé TPGestionProduits Partie3

Transféré par

Yasmine ZAIER
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP GestionProduits

Partie 3: Entity Framework

Partie 3.1 : Mise en place

1. Dans la solution GestionProduits, créer un autre projet nommé « [Link] » de type


« Bibliothèque de classes (.Net Framework) ».
2. Ajouter les références entre les projets: Le projet [Link] doit référencer le projet
[Link]. Le projet [Link] doit référencer le projet [Link].

[Link]

[Link]
[Link]

[Link]

3. Installer Entity Framework.

Partie 3.2 : Implementation du Context

4. Créer une classe GPContext dans le projet [Link]

5. Ajouter l’heritage de DBContext

6. Ajoutez la balise suivante dans le fichier [Link] dans le Projet Console

<connectionStrings>
<add name=" GPConnection "
connectionString="Data Source=(localdb)\mssqllocaldb;
Initial Catalog=GestionProduitsDB;Integrated Security=true"
providerName="[Link]"/>
</connectionStrings>

1/4
7. Le constructeur de la classe GPcontext doit pointer vers la chaine de connexion présente
dans le fichier [Link]

8. Ajouter les DBSet nécessaires.

Partie 3.3 : Géneration de la BD

9. Faite une opération d’ajout dans l’application console et executer afin de générer la base
de données.

Partie 3.4 : Migrations

10. Ajouter la propriété public string Image { get; set; } à l’entité Product puis lancer
l’application. L’application nous renvoie cette exception:

11. Activer la migration dans le projet [Link] et exécuter les commandes qui permettent de
mettre à jour la base de données

12. Changer le nom de la propriété public string Image {get; set;} à public stringImageName
{get; set;}. Ajouter une migration nommé ModifyNameImag. Aller à la classe
Configuration dans le dossier Migrations et ajouter le code suivant dans la méthode Seed.
Exécuter la commande qui permet de mettre à jour la base de données.

[Link](
p => [Link], //Uniqueness property
new Category { Name = "Medicament" },
new Category { Name = "Vetement" },
new Category { Name = "Meuble" }
);
[Link]();

13. Restaurer le schéma de la base de données à l’état précédent.

2/4
Partie 3.5 : Type Complexe

14. Ajouter le Type Complexe “Address” dans le projet [Link].

namespace [Link]
{
public class Address
{
public string StreetAddress { get; set; }
public string City { get; set; }
}
}

15. Mettre à jour l’entité Chemical par le type complexe que nous venons de créer

Partie 3.6 : Annotations

16. Ajouter la référence “[Link]” au projet [Link]


17. Ajouter les différentes annotations qui nous permettent de configurer les entités comme
suit :
Dans la class Product:
○ La propriété Name doit être :
■ required
■ The user input string have the length 25 (max)
■ The property have length 50 (max)
■ An error message will be displayed if the rules are not respected.
○ La propriété Description doit être:
■ Multiline
○ La propriété Price doit être:
■ Currency
○ La propriété Quantity doit être:
■ Positive integer
○ La propriété DateProd doit être:

3/4
■ Displayed as “Production Date”
■ Valid Date
○ La propriété CategoryId doit être:
■ The foreign Key property to the Category entity.
Dans la class Provider :
○ La propriété Id doit être:
■ Key (Id is already a primary key By Convention)
○ La propriété Password doit être:
■ Password (hidden characters in the input)
■ Minimum length 8 characters
■ Required
○ La propriété ConfirmPassword doit être:
■ Required
■ Not mapped in the database
■ Password
■ Same value as “Password” property
○ La propriété Email doit être:
■ Email
■ Required
18. Mettre à jour la base de données en utilisant la migration
19. Lancer et tester en utilisant le projet console

4/4

Vous aimerez peut-être aussi