EF Core 1.0
Cette session animée par Rowan Miller, Program Manager Entity Framework est axée sur ce qui nous attends dans EF Core 1.0. Sachez que ce framework est actuellement en pre-release.
Historiquement, ce framework devait s'appeler « Entity Framework Everywhere » puis « Entity Framework 7 » pour désormais être « Entity Framework Core 1.0 ».
L'objectif d'EF Core 1.0 est d'être un framework d'accès aux données :
- Léger : une API cœur (métadonnées, génération SQL, change tracking)
- Modulaire : avec un ensemble de package nuget
- Principe d'injection de dépendances et du Pay-per-play
- Impact mémoire et CPU optimisé
- Cross-platform : application mobile, Xbox, PC, etc...
EF Core 1.0 supporte également différents magasins de données :
- Relationnelle : SQL Server, SQLite, Postgres, SQL Compact, IBM Data Servers
- Non-relationnelle : Azure Table Storage, Redis
- En mémoire pour les tests
Parmi les nouvelles fonctionnalités, notons :
- Le support du mode batch de manière transparente lors de l'appel à SaveChanges
- L'évaluation côté client des requêtes Linq
Sachez que toutes les fonctionnalités d'EF 6.X ne seront pas implémentées dans EF Core. De plus, EF Core est une vraie 1ère version avec :
- Des fonctionnalités manquantes : lazy loading, mappage de procédure stockée, etc…
- Des fonctionnalités limitées : translation des requêtes linq.
- Un support de fournisseur de base de données réduit.
EF 6.X est mature, il est donc important d'identifier ses besoins avant d'envisager d'utiliser EF Core 1.0. De plus, si vous souhaitez migrer d'EF 6.X vers EF Core 1.0 sachez que c'est un portage et non une mise à jour de la version du framework car certaines API ont changé et certains comportements sont différents pour une même méthode. Cependant, un code simple pourra être porté facilement.
Quelques chiffres suite aux démonstrations, EF Core 1.0 est :
- 80% plus rapide sur le liste d'un DbSet
- 80% plus rapide sur une requête classique avec filtre, tri, groupe et saut des 100 premiers éléments
- 80% plus rapide pour l'insertion avec la méthode Add
- 40% plus rapide pour l'insertion avec la méthode Add qu'EF 6 avec la détection automatique des changements désactivée et l'insertion avec la méthode AddRange.
Pour plus d'information vous pouvez retrouver :
- Le slide et l'ensemble des démos de cette session ici
- La documentation EF Core ici
- Le code source EF core ici
- La roadmap ici
Happy coding !
Commentaires