SlideShare une entreprise Scribd logo
1  sur  17
Entity Framework Core
Comment s’appelle le machin en question ?
Entity Framework Everywhere
Entity Framework 7 (EF7)
Entity Framework Core (EF Core)
1 C’est quoi, EF Core ?
2 EF Core vs EF6
3 Démos
Entity Framework 3.5 SP1
Entity Framework 4
Entity Framework 4.x
Entity Framework 5.x
Entity Framework 6.x
Entity Framework 6.2
Entity Framework Core
Runtime : NuGet
Tooling : Microsoft Download Center
(Dernière version incluse dans Visual Studio)
Nouveaux composants de runtime : NuGet
Composants historiques de runtime : .NET
Tooling : livre avec Visual Studio
Composants de runtime : .NET
Tooling : livré avec Visual Studio
Comment est déployé Entity Framework ?
De nouvelles plateformes
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
*
De nouveaux providers
EF Core n’est plus vraiment un ORM, puisqu’il ne gère plus seulement
le monde relationnel.
Microsoft.EntityFrameworkCore
Bases relationnelles
• SQL Server
• PostGreSQL
• SQLLite
• SQLCompact
NoSQL
• Redis
• Azure Table
Storage
In memory
Services communs à toutes / une
majorité de plateformes
• Métadonnées
• Unit of Work
• Repository
• Change tracking
• Génération de SQL
NB : EF 1.0 ne comprend que les
providers relationnels et in memory
Légèreté et extensibilité
Une API de haut niveau basée sur un coeur modulaire
• DbContext et DbSet = métadonnées, change tracking, génération de SQL, unit
of work et repository
EF Core est développé sous la forme d’une collection de services
• Assemblage suivant les principes de l’injection de dépendances
• Chaque service est facile à utiliser, remplacer et étendre
Consommation faible en ressources mémoire et CPU
• C’est assez important quand on pense devices mobiles et cloud
Mécanisme pay-per-play : j’utilise uniquement ce dont j’ai besoin
EF Core vs EF6
EF Core tient compte de son historique :
• L’API de haut niveau ne change pas fondamentalement par rapport à
EF6
• Les choses ne changent pas pour le simple fait de changer
… mais n’est pas contraint par ce dernier
• Réécriture complète
• Le cœur n’a plus rien à voir avec l’ancien
• Toutes les fonctionnalités d’EF6 ne seront pas portées
EF Core vs EF6
EF6 est stable et mûr
• 8 ans depuis la v1.0
• Un écosystème de providers riche
• Continuera d’être supporté et maintenu
EF Core est une vraie v1.0
• Couverture fonctionnelle encore incomplète
• Sa première version ne vient qu’avec quelques providers
EF Core vs EF6
EF6 continue d’être un bon choix pour beaucoup d’applications.
Réfléchissez bien avant d’adopter EF Core
• Des fonctionnalités non-encore implémentées (mapping vers des procédures
stockées, données spatiales, visualisation graphique du modèle…)
• La base de code est récente ! Le traducteur Linq > SQL n’est pas encore au niveau
d’EF6.
Passer d’EF6 vers EF Core est une migration, pas une mise à jour
• Les projets simples seront faciles à migrer
• Certaines API ont radicalement changé
• Attention aux différences de comportement entre API nommées de façon
similaire
Démos
EF Core 101
Démos
Performances
améliorées
Démos
API de métadonnées
simplifiée
Démos
Extensibilité
Top Level API
DbContext, DbSet, ChangeTracker, Database, etc.
Core Services
StateManager, CompiledQueryCache, etc.
Database Provider Services
SqlServerTypeMapper,
SqlServerSqlGenerationHelper, etc.
Démos
Un modèle, plusieurs
plateformes
Démos
Un modèle, plusieurs
bases de données
Démos
Amélioration de la
génération de SQL

Contenu connexe

Similaire à Journée Asp.Net Core - Entity Framework Core

Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Jonathan Le Guellec
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkMSDEVMTL
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, commentASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, commentArnaud Weil
 
alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)Alphorm
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Microsoft
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaformSébastien Pertus
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationgdigugli
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Firas Kouẞàa
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, commentArnaud Weil
 
Lbv Dev Meetup #1
Lbv Dev Meetup #1Lbv Dev Meetup #1
Lbv Dev Meetup #1LbvDev
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 

Similaire à Journée Asp.Net Core - Entity Framework Core (20)

Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, commentASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, comment
 
alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 
Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Javavs net
Javavs netJavavs net
Javavs net
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
 
DevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une applicationDevOps illustré : la jungle de la configuration d'une application
DevOps illustré : la jungle de la configuration d'une application
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, comment
 
Architecture j2 ee
Architecture j2 eeArchitecture j2 ee
Architecture j2 ee
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
Wasxposefinal
WasxposefinalWasxposefinal
Wasxposefinal
 
Lbv Dev Meetup #1
Lbv Dev Meetup #1Lbv Dev Meetup #1
Lbv Dev Meetup #1
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 

Journée Asp.Net Core - Entity Framework Core

  • 2. Comment s’appelle le machin en question ? Entity Framework Everywhere Entity Framework 7 (EF7) Entity Framework Core (EF Core)
  • 3. 1 C’est quoi, EF Core ? 2 EF Core vs EF6 3 Démos
  • 4. Entity Framework 3.5 SP1 Entity Framework 4 Entity Framework 4.x Entity Framework 5.x Entity Framework 6.x Entity Framework 6.2 Entity Framework Core Runtime : NuGet Tooling : Microsoft Download Center (Dernière version incluse dans Visual Studio) Nouveaux composants de runtime : NuGet Composants historiques de runtime : .NET Tooling : livre avec Visual Studio Composants de runtime : .NET Tooling : livré avec Visual Studio Comment est déployé Entity Framework ?
  • 5. De nouvelles plateformes .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES *
  • 6. De nouveaux providers EF Core n’est plus vraiment un ORM, puisqu’il ne gère plus seulement le monde relationnel. Microsoft.EntityFrameworkCore Bases relationnelles • SQL Server • PostGreSQL • SQLLite • SQLCompact NoSQL • Redis • Azure Table Storage In memory Services communs à toutes / une majorité de plateformes • Métadonnées • Unit of Work • Repository • Change tracking • Génération de SQL NB : EF 1.0 ne comprend que les providers relationnels et in memory
  • 7. Légèreté et extensibilité Une API de haut niveau basée sur un coeur modulaire • DbContext et DbSet = métadonnées, change tracking, génération de SQL, unit of work et repository EF Core est développé sous la forme d’une collection de services • Assemblage suivant les principes de l’injection de dépendances • Chaque service est facile à utiliser, remplacer et étendre Consommation faible en ressources mémoire et CPU • C’est assez important quand on pense devices mobiles et cloud Mécanisme pay-per-play : j’utilise uniquement ce dont j’ai besoin
  • 8. EF Core vs EF6 EF Core tient compte de son historique : • L’API de haut niveau ne change pas fondamentalement par rapport à EF6 • Les choses ne changent pas pour le simple fait de changer … mais n’est pas contraint par ce dernier • Réécriture complète • Le cœur n’a plus rien à voir avec l’ancien • Toutes les fonctionnalités d’EF6 ne seront pas portées
  • 9. EF Core vs EF6 EF6 est stable et mûr • 8 ans depuis la v1.0 • Un écosystème de providers riche • Continuera d’être supporté et maintenu EF Core est une vraie v1.0 • Couverture fonctionnelle encore incomplète • Sa première version ne vient qu’avec quelques providers
  • 10. EF Core vs EF6 EF6 continue d’être un bon choix pour beaucoup d’applications. Réfléchissez bien avant d’adopter EF Core • Des fonctionnalités non-encore implémentées (mapping vers des procédures stockées, données spatiales, visualisation graphique du modèle…) • La base de code est récente ! Le traducteur Linq > SQL n’est pas encore au niveau d’EF6. Passer d’EF6 vers EF Core est une migration, pas une mise à jour • Les projets simples seront faciles à migrer • Certaines API ont radicalement changé • Attention aux différences de comportement entre API nommées de façon similaire
  • 14. Démos Extensibilité Top Level API DbContext, DbSet, ChangeTracker, Database, etc. Core Services StateManager, CompiledQueryCache, etc. Database Provider Services SqlServerTypeMapper, SqlServerSqlGenerationHelper, etc.

Notes de l'éditeur

  1. Je passe très rapidement sur cette liste. On les regardera en detail dans les demos.