IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Entity Framework 6 sort en version RC
Support de la programmation asynchrone et de la personnalisation de Code First

Le , par Stéphane le calme

299PARTAGES

3  1 
Le framework open-source ORM (object-relational mapping) présente sa mise à jour majeure EF 6. C’est d’ailleurs la première version à être développée en utilisant CodePlex, la plateforme d’hébergement et de gestion des projets open source de Microsoft.

Cette nouvelle mouture supporte l’approche simplifiée apportée à la programmation asynchrone introduite par Visual Studio 2012 et .NET 4.5. Le compilateur s’occupe de la gestion des éléments asynchrones et votre application conserve une structure logique simple qui ressemble à du code synchrone. EF 6 prend en charge les modes asynchrones basés sur des tâches telles que SaveChanges et les méthodes LINQ qui exécutent des requêtes telles que First et ToList.

Avec la personnalisation de la convention Code First vous pourrez désormais éviter les configurations répétitives. Une API simplifiée est disponible pour les conventions légères. Pour les conventions moins aisées, les développeurs pourront faire usage de quelques blocs de construction plus complexe.

D’autres améliorations notoires sont observées comme la suppression de la limitation à un seul modèle Code First par base de données lors de l’utilisation de Migrations ou lors de la création automatique de base de données par Code First.

La version finale de EF 6 sera disponible en même temps que Visual Studio 2013 plus tard cette année. Le runtime de la Release Candidate est disponible sur NuGet et les outils pour Visual Studio 2012 sont disponibles sur le Centre de téléchargement Microsoft.

Télécharger le runtime sur NuGet

Télécharger les outils sur le Centre de téléchargement Microsoft

Source : Data Developer Center MSDN

Et vous ?

Avez-vous déjà utilisé EF ? Qu'en pensez-vous ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de elmcherqui
Membre averti https://www.developpez.com
Le 27/08/2013 à 12:51
Avez-vous déjà utilisé EF ? Qu'en pensez-vous ?
Oui ! Et il ne cesse de s'améliorer version après version, que ça soit niveau performance ou niveau simplicité.
Coté simplicité on a vu l’apparition de DbContext qui est un wrapper de ObjectContext que les dev trouvaient complexe a utiliser, on a aussi énormément d’outils disponible sur Nugget (mon préféré pour Code First EF Power Tools), et surtout les outils installé avec Visual studio pour générer les repository avec CRUD, les vues ( on peut aussi télécharger les fichier de génération des autres dev qu’on apelle les T4 qui génèrent quasiment tous hautement extensible pour écrire du code propre au métier ).

Coté performance je pense que EF n’a plus à rougir face à ADO.NET même si des outils comme LinqPad ou SQL Profiler sont quelques fois nécessaire pour arriver à écrire une bonne requête Linq qui soit un peu grande, moi qui pensait que j’allais laisser tomber le SQL , je me retrouve à me former encore plus pour essayer de maitriser le code généré afin de gagner quelques points de performances.
Mais dans la plupart du temps le code généré est excellent voir même meilleur que celui que j’aurais pu écrire.
1  0 
Avatar de GTSLASH
Inactif https://www.developpez.com
Le 27/08/2013 à 13:36
La grande nouveautee je trouve est l'arrivee de la generation des procedures stockée dans le code first.

Meme si trouve personellement qu'il vaut mieux separer la creation de la base de donnéé de la creation du code c#.
1  0 
Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 27/08/2013 à 22:35
Le soucis c'est qu'on est toujours obligé de passer par du SQL ou PROC stockés pour faire des insertions/update/delete de masse.

Sinon il génère 1000 requêtes pour 1000 insertions

donc ça rends le truc un peu plus contraignant ( détacher les entités, etc), mais sympas à utiliser en lecture ou écriture simple

Pour récupérer les séquences oracles des nouvelles lignes insérées, c'est aussi passage obligé par des procédures stockés...

Bref entity F6 parait simple mais il faut quand même bien le maitriser pour avoir des applications complexes performantes.

D'autre part j'aimerai qu'il génére des dictionnaires indexés sur les index BDD au lieu des listes (DBcontext T4) ( si quelqu'un sais comment faire ça automatiquement )
1  0 
Avatar de alex_vino
Membre émérite https://www.developpez.com
Le 27/08/2013 à 18:35
Plus sérieusement je trouve que cette version apporte beaucoup de grandes chose, outre le fait que l'on peux utiliser plusieurs "Context" par base de données (enfin!) j'aime bien l'ajout de l'asynchronisme.
Bravo a l'équipe Entity Framework
0  0 
Avatar de DotNetMatt
Modérateur https://www.developpez.com
Le 28/08/2013 à 11:22
Citation Envoyé par dfiad77pro Voir le message
Bref entity F6 parait simple mais il faut quand même bien le maitriser pour avoir des applications complexes performantes.
Ca dépend ce qu'on entend par "performantes". Si l'on recherche la performance ultime, aucun ORM à ce jour ne remplacera une DAL classique ADO.NET + Ordinals. Par contre effectivement pour une application de gestion, on est d'accord
1  1 
Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 28/08/2013 à 12:26
Citation Envoyé par alex_vino Voir le message
Plus sérieusement je trouve que cette version apporte beaucoup de grandes chose, outre le fait que l'on peux utiliser plusieurs "Context" par base de données (enfin!) j'aime bien l'ajout de l'asynchronisme.
Bravo a l'équipe Entity Framework

Après pour l'asynchronisme, c'est comme d’habitude avec les nouveau .NET :
- Aurevoir les utilisateurs de visual studio 2010 et antérieur

ça sert à quoi de distribuer un package en nugget si la moitié des fonctionnalités ne sont intéressantes que sur .net 4.5 dont la CLR est sensé être compatible avec celle de .net 4
0  0 
Avatar de alex_vino
Membre émérite https://www.developpez.com
Le 28/08/2013 à 12:38
Citation Envoyé par dfiad77pro Voir le message
Après pour l'asynchronisme, c'est comme d’habitude avec les nouveau .NET :
- Aurevoir les utilisateurs de visual studio 2010 et antérieur

ça sert à quoi de distribuer un package en nugget si la moitié des fonctionnalités ne sont intéressantes que sur .net 4.5 dont la CLR est sensé être compatible avec celle de .net 4
Comme tout il faut faire évoluer les IDE/frameworks pour utiliser les dernieres technologies. Je suis d'accord que c'est dommage mais ce serait bete que Microsoft/EF se passent de ces nouveautés ou mettent 5x plus de temps a les implémenter pour rester compatible avec toutes les IDE. Comme tout Framework au bout d'un moment des choses sont dépréciées et plus compatible. Pour avoir dévelopé sous d'autres plateformes je peux t'assurer qu'a ce niveau on n'a pas trop de probleme en .Net, mais on ne peux pas tout avoir.

Pense aux anciens utilisateurs de VB6 qui étaient nombreux, a un moment il faut penser futur et non passé en rendant le code compatible avec toutes les IDE.

Maintenant dans Visual Studio 2012 on peux utiliser les nouveaux Frameworks (example 4.5.1) donc il ne devrait plus y avoir de probleme, en tout cas moins
0  0 
Avatar de fab_hunter1100
Membre régulier https://www.developpez.com
Le 27/08/2013 à 13:45
Oui . Ce n est pas du tout mon domaine de specialisation , mais j aimes bien tester les produits MS , juste pour avoir la jouissance de trouvé un "HIC" . Je sais c est bas !!!!

J ai noté surtout la simplicité comme le disais @elmcherqui et :
et je n ai testé (documenter ) que les "kill features " :
- Custome conventions
- logging sql
- la possibilité d imbriqué les Entity dans les classes
Pour tout celà

Bon pour etre fidele a mon anti MS-technologie primaire , je doute encore que le fait d avoir transporter les API Core dans EF6 soit totalement une bonne idée ( Peut etre parceque je n ai pas eu encore le temps de me penché sur les tenants et les aboutissants et pourquoi ils en ont decidés ainsi , si quelqu un peu m eclairer et me donné des infos pour m eviter la lecture je suis preneur )
0  1 
Avatar de sebbod
Membre averti https://www.developpez.com
Le 28/08/2013 à 11:39
D'autre part j'aimerai qu'il génére des dictionnaires indexés sur les index BDD au lieu des listes (DBcontext T4) ( si quelqu'un sais comment faire ça automatiquement )
+1
0  1