Chap 3 Part 1
Chap 3 Part 1
Chap 3 Part 1
Définition
• ORM (Object Relational Mapping, Mapping objet relationnel) officiel de .NET
1 2
Définition Définition
Dans les ORM, il y a deux composants : • Entity Framework (EF) était intégré dans .NET framework 3.5 depuis 2008
• Les entités (des classes à implémenter par le développeur) : qui représentent • La version d’EF incluse dans .NET framework est EF6
certaines tables •Version mature, qui supporte les modèles d’héritage complexes
•Le gestionnaire d’entités (une classe qui existe déjà) : à utiliser pour persister les •A partir de EF6.3 , EF est extrait de .NET framework et est devenu dans un
entités dans la base de données. package séparé
Dans le cas d’entity framework : • Il supporte désormais .Net Core 3.0 et les versions d’après incluant .NET5.
• Les entités : des classes décorées (annotées)
•Le gestionnaire d’entités : Linq to Entities
3 4
1
24/09/2021
5 6
2
24/09/2021
9 10
11 12
3
24/09/2021
13 14
•Création d’un projet Console • Entity Framework Core a besoin d’un modèle (Entity Data Model) pour
communiquer avec la base de données
•Intégrer Entity Framework Core et Entity Framework Core SQL Server dans le
projet en utilisant Nuget Package manager • Il construit un modèle basé sur la forme de vos classes de domaine, les
annotations de données et les configurations de Fluent API.
• Créer le modèle (Entity Data Model)
•Le modèle EF comporte trois parties: le modèle conceptuel, le modèle de
• Créer les entités stockage et le mapping entre le modèle conceptuel et de stockage
• Générer la base de données et manipuler les données avec LINQ to Entities • Dans l'approche code-first, EF construit le modèle conceptuel basé sur vos
classes de domaine (classes d'entité), la classe de contexte et les configurations.
• EF Core crée le modèle de stockage et les mappages en fonction du fournisseur
que vous utilisez. Par exemple, le modèle de stockage sera différent pour SQL
Server par rapport à DB2.
15 16
4
24/09/2021
• EF utilise ce modèle pour les opérations CRUD (Créer, Lire, Mettre à jour,
Supprimer) dans la base de données sous-jacente. Nous devons donc
d'abord créer des classes d'entités et des classes de contexte. Les éléments
suivants sont des classes d'entités simples pour Student et Course :
• Bouton droit sur notre solution (nommée ENISSchool), ajouter classe dans le
dossier modèle, la nommer Student.cs
17 18
19 20
5
24/09/2021
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
Code First: Etapes à suivre
using System.Linq;
using System.Text;
using System.Threading.Tasks; • La classe de contexte présentée inclue deux propriétés DbSet<Tentity> pour
Student et Course
namespace ENISSchool
{ • Ces deux vont être mappées à deux tables Students et Courses dans la base de
class ENISContext: DbContext données ENIS
{
• Dans la méthode OnConfiguring(),une instance de DbContextOptionsBuilder est
public DbSet<Student> Students { get; set; }
utilisée pour spécifier quelle est la base de données à utiliser.
public DbSet<Course> Courses { get; set; }