SlideShare une entreprise Scribd logo
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

Tendances

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
MSDEVMTL
 
Déploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team ServicesDéploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team Services
Adrien Siffermann
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
ekino
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
Abdelouahed Abdou
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
Microsoft
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, comment
Arnaud Weil
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
13p
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
Habib MAALEM
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
William Marques
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
Publicis Sapient Engineering
 
Faire une app en JS moderne
Faire une app en JS moderneFaire une app en JS moderne
Faire une app en JS moderne
Raphaël Boucher
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
MSDEVMTL
 
Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017
Philippe Beroucrry
 
.NET Core - Mug In Clermont
.NET Core - Mug In Clermont.NET Core - Mug In Clermont
.NET Core - Mug In Clermont
Thomas BAILLY
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
SOAT
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
Jean-Baptiste Vigneron
 

Tendances (17)

Intro grpc.net
Intro  grpc.netIntro  grpc.net
Intro grpc.net
 
Déploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team ServicesDéploiement dans Azure depuis Visual Studio Team Services
Déploiement dans Azure depuis Visual Studio Team Services
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core:Pourquoi, commentASP.NET Core:Pourquoi, comment
ASP.NET Core: Pourquoi, comment
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
 
Faire une app en JS moderne
Faire une app en JS moderneFaire une app en JS moderne
Faire une app en JS moderne
 
Common features in webapi aspnetcore
Common features in webapi aspnetcoreCommon features in webapi aspnetcore
Common features in webapi aspnetcore
 
Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017Meetup aix-js-28-08-2017
Meetup aix-js-28-08-2017
 
.NET Core - Mug In Clermont
.NET Core - Mug In Clermont.NET Core - Mug In Clermont
.NET Core - Mug In Clermont
 
vNext
vNextvNext
vNext
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 

Similaire à 04 - [ASP.NET Core] Entity Framework Core

Entity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performancesEntity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performances
MSDEVMTL
 
Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015Challenge Exakis - Visual studio 2015
Challenge Exakis - Visual studio 2015
Jonathan Le Guellec
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
MSDEVMTL
 
ASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, commentASP.NET Core: Pourquoi, comment
ASP.NET Core: Pourquoi, comment
Arnaud 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
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
Mathurin Body
 
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
Microsoft
 
Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
Mourad HASSINI
 
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
Cellenza
 
Javavs net
Javavs netJavavs net
Javavs net
Nicolas De Loof
 
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
Sé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 application
gdigugli
 
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
 
Architecture j2 ee
Architecture j2 eeArchitecture j2 ee
Architecture j2 ee
Aziz Baataoui
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
Sabri Bouchlema
 
Lbv Dev Meetup #1
Lbv Dev Meetup #1Lbv Dev Meetup #1
Lbv Dev Meetup #1
LbvDev
 
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
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
New Caledonian Government
 
Architecture .net
Architecture  .netArchitecture  .net

Similaire à 04 - [ASP.NET Core] Entity Framework Core (20)

Entity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performancesEntity framework core 2 vs micro orm performances
Entity framework core 2 vs micro orm performances
 
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)
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.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
 
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 !
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 

Plus de Cellenza

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017
Cellenza
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applications
Cellenza
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & Luis
Cellenza
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API Management
Cellenza
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
Cellenza
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration Trends
Cellenza
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Cellenza
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Cellenza
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid Integration
Cellenza
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Cellenza
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic App
Cellenza
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management
Cellenza
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Cellenza
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
Cellenza
 
[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1
Cellenza
 
[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2
Cellenza
 
[XamarinDay] Xamarin pour votre entreprise
[XamarinDay] Xamarin pour votre entreprise [XamarinDay] Xamarin pour votre entreprise
[XamarinDay] Xamarin pour votre entreprise
Cellenza
 
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin ![XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
Cellenza
 
[XamarinDay] Retours sur Evolve 2016
[XamarinDay] Retours sur Evolve 2016[XamarinDay] Retours sur Evolve 2016
[XamarinDay] Retours sur Evolve 2016
Cellenza
 
[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms
Cellenza
 

Plus de Cellenza (20)

The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017The PostBuildEvent : Retour sur la //Build 2017
The PostBuildEvent : Retour sur la //Build 2017
 
DevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applicationsDevCon 3 : Containérisation d’applications
DevCon 3 : Containérisation d’applications
 
DevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & LuisDevCon 3 : BOT Framework & Luis
DevCon 3 : BOT Framework & Luis
 
DevCon 3 : Azure API Management
DevCon 3 : Azure API ManagementDevCon 3 : Azure API Management
DevCon 3 : Azure API Management
 
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
05 - [ASP.NET Core] Devops : VSTS, Git, Azure, Docker, Linux
 
Integration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration TrendsIntegration Summit 16 - Keynote Integration Trends
Integration Summit 16 - Keynote Integration Trends
 
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic AppsIntegration Summit 16 - Tour d'horizon d'Azure Logic Apps
Integration Summit 16 - Tour d'horizon d'Azure Logic Apps
 
Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016Integration Summit 16 - Les nouveautés BizTalk Server 2016
Integration Summit 16 - Les nouveautés BizTalk Server 2016
 
Integration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid IntegrationIntegration Summit 16 - Hybrid Integration
Integration Summit 16 - Hybrid Integration
 
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
Integration Summit 16 - Azure Logic App, bonnes pratiques et industrialisatio...
 
Integration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic AppIntegration Summit 16 : IoT, Service Fabric et Logic App
Integration Summit 16 : IoT, Service Fabric et Logic App
 
Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management Integration Summit 16 : Azure API Management
Integration Summit 16 : Azure API Management
 
Integration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power appsIntegration Summit 16 - Citizen Integrator / Flow - Power apps
Integration Summit 16 - Citizen Integrator / Flow - Power apps
 
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition ![XamarinDay] Xamarin History - From 0 to microsoft acquisition !
[XamarinDay] Xamarin History - From 0 to microsoft acquisition !
 
[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1[XamarinDay] Deep dive des produits Xamarin part 1
[XamarinDay] Deep dive des produits Xamarin part 1
 
[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2[XamarinDay] Deep dive des produits Xamarin part 2
[XamarinDay] Deep dive des produits Xamarin part 2
 
[XamarinDay] Xamarin pour votre entreprise
[XamarinDay] Xamarin pour votre entreprise [XamarinDay] Xamarin pour votre entreprise
[XamarinDay] Xamarin pour votre entreprise
 
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin ![XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
[XamarinDay] Cellenza - Votre partenaire Mobilité et Xamarin !
 
[XamarinDay] Retours sur Evolve 2016
[XamarinDay] Retours sur Evolve 2016[XamarinDay] Retours sur Evolve 2016
[XamarinDay] Retours sur Evolve 2016
 
[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms[XamarinDay] Développez en XAML avec Xamarin Forms
[XamarinDay] Développez en XAML avec Xamarin Forms
 

04 - [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.