Vous êtes sur la page 1sur 4

TP GestionProduits

Partie 3: Entity Framework

Partie 3.1 : Mise en place

1. Dans la solution GestionProduits, créer un autre projet nommé « GP.Data » de type


« Bibliothèque de classes (.Net Framework) ».
2. Ajouter les références entre les projets: Le projet GP.Service doit référencer le projet
GP.Data. Le projet GP.Data doit référencer le projet GP.Domain.

GP.Console

GP.Domain
GP.Service

GP.Data

3. Installer Entity Framework.

Partie 3.2 : Implementation du Context

4. Créer une classe GPContext dans le projet GP.Data

5. Ajouter l’heritage de DBContext

6. Ajoutez la balise suivante dans le fichier App.Config dans le Projet Console

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

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

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 GP.Data 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.

context.Categories.AddOrUpdate(
p => p.Name, //Uniqueness property
new Category { Name = "Medicament" },
new Category { Name = "Vetement" },
new Category { Name = "Meuble" }
);
context.SaveChanges();

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 GP.Domain.

namespace GP.Domain
{
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 “System.ComponentModel.DataAnnotions” au projet GP.Domain


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