ESPRIM RAMZI Ben Elhadj Said
Département technologies de l’informatique A.U : 2024/2025
TP: Entiy/Annotations/Fluent Api (C#)
Part 1 – Mise en place de la solution:
1. Créer une solution nommé “MyProjet” et y ajouter un projet de type application console
Core dont le nom est MyProjetCon
2. Installer le package Entity Framework core
Part 2 – Implémentation des entités:
Dans le dossier Models
- Ajouter les classes schématisées dans le diagramme, ne pas oublier les propriétés de
navigation et les propriétés représentant les clés étrangères.
- Décorer les propriétés de navigation par le mot clé Virtual
- Installer les packages nécessaires dans nuget
- Générer le modèle pour les opérations CRUD de base
Part 3- Les annotations :
Etape 1 : Ajouter la référence “System.ComponentModel.DataAnnotions” au projet
“MyFinance.Domain”
Page 1 of 5
ESPRIM RAMZI Ben Elhadj Said
Département technologies de l’informatique A.U : 2024/2025
Etape 2 : Ajouter les différentes annotations qui nous permettent de configurer les
entités cille suit :
● Dans la class Product
○ the property Name should be
■ 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.
○ The property Description should be
■ Multiline
○ The property Price should be
■ Currency
○ The property Quantity should be
■ Positive integer
○ The property DateProd should be
■ Displayed as “Production Date”
■ Valid Date
○ The property CategoryId should be
■ The foreign Key property to the Category entity.
● Dans la class Provider :
○ the property Id should be
■ Key (Id is already a primary key By Convention)
○ The property Password should be
■ Password (hidden characters in the input)
■ Minimum length 8 characters
■ Required
○ The property ConfirmPassword should be
■ Required
■ Not mapped in the database
■ Password
■ Same value as “Password” property
○ The property Email should be
■ Email
■ Required
Page 2 of 5
ESPRIM RAMZI Ben Elhadj Said
Département technologies de l’informatique A.U : 2024/2025
Etape 3 :
Ajouter la classe MyProjetContext
a. Ajouter les DbSets nécessaires
b. Ajouter la méthode OnModelCreating
Mettez à jour la base de données en utilisant la migration
Part 4- Fluent API: :
NB : les annotations et la configuration utilisant FluentApi peuvent cohabiter dans un
même projet
Etape 1 : Configuration de la class Category :
- Le nom de la table correpondante à l’entité categorie dans la base de donnée doit etre
‘MyCategories’
- CategoryId est la clé primaire de la table
- La propriété name est obligatoire et a une longueur maximale de 50
Etape 2 : Configuration de la class Product :
- Configurer la relation many-to-many entre products et providers,
- Configurer l’héritage schématisé dans le diagramme de classe
- Configurer la relation one-to-many entre la class Product et Category.
Etape 3 : Mettre à jour la base de données en utilisant la migration
Page 3 of 5
ESPRIM RAMZI Ben Elhadj Said
Département technologies de l’informatique A.U : 2024/2025
Annexes :
Many-to-Many
Une fois cela fait, vous devez utiliser Fluent API pour Entity Framework Core pour
configurer la relation et permettre de ce fait le mappage adéquat :
Page 4 of 5
ESPRIM RAMZI Ben Elhadj Said
Département technologies de l’informatique A.U : 2024/2025
Page 5 of 5