Entity Framework, et le piège du Lazy Loading

Au début de l’année (voir aussi cet article), nous avons mis en place une nouvelle architecture basée sur Entity Framework Code First pour sa DAL et cela m’a permis de constater une chose assez dérangeante concernant le Lazy Loading, et à laquelle il vaut mieux prêter attention.

Par défaut, le Lazy Loading est activé sur Entity Framework.

Cela est assez vicieux car on peut sans se rendre compte, implémenter sa fonctionnalité, penser que tout fonctionne, mais en fait, on fait des requêtes non maîtrisées en base de données. Ce qui conduit généralement à un Select N+1Lire la suite

Deep Dive into Ninject

Aujourd’hui, j’ai organisé un Brown Bag Meeting dont le sujet était un Deep Dive into Ninject. Bon, personne ne mangeait parce qu’il était 15h00 mais c’est pour l’occasion de faire une pub au Brown Bag Meetings. Je trouve que c’est une idée très intéressante.

Pour en revenir au sujet initial de l’article: Ninject. Ninject est un moteur d’injection de dépendances pour ceux qui ne connaissent pas. Nous l’utilisons aussi pour faire de l’AOP avec des intercepteurs maison.

Voyons oune poquito comment c’est sous l’capot

commercial-waste-management-ninjas

Lire la suite

Entity Framework et Select N+1

Nous utilisons Entity Framework dans le nouveau produit de la société. Par défaut, celui-ci est configuré pour utiliser le Lazy Loading.

Cela est certes très pratique pour développer rapidement des affichages MVC mais on peut très rapidement se retrouver avec des problèmes de Select N+1 et donc, de sérieux défauts de performances…

aspnet

Lire la suite