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

Publicités

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

Pourquoi choisir ASP.Net MVC plutôt que ASP.Net Webforms

Cet article est une traduction en français de l’article que j’ai publié hier (Why choose ASP.Net MVC instead of ASP.Net Webforms?). A l’avenir, j’écrirai l’ensemble de mes articles en français à de rares exceptions.

Lire la suite

Overriding, virtual and new keyword

Partons du principe que vous n’êtes pas sans savoir les effets du mot-clé new sur le polymorphisme et le fait que vous « castiez » un objet dans un type ou dans un autre. Aujourd’hui, je vais vous montrer un exemple de mauvaise implémentation mais qu’il peut être intéressant de connaître (si on est masochiste) car ses effets sont déroutants.

aspnet

Lire la suite