Dernières considérations relatives aux performances de Dapper VS Entity Framework 6

.net dapper entity-framework orm performance

Question

Il y a quelques comparaisons de performances entre Dapper (qui semble être le "micro ORM tool" le plus rapide et le plus populaire). Nous sommes en septembre 2014 et nous avons Entity Framework 6 (pas 5 ou 4) et Dapper est toujours là.

Nous commencerons à développer une énorme application de base de données à plusieurs niveaux (la base de données contient 700 tables). Et certaines des requêtes à exécuter sont sensibles au temps.

  1. Quelqu'un at-il des mises à jour sur les performances concernant EF 6.1.x? Cela concerne les requêtes générales effectuées dans un DbContext.
  2. Je suppose que je ne peux pas utiliser des requêtes LINQ bien formatées avec Dapper. Avez-vous de l'expérience avec ça? Est-ce que cela vaut la peine de perdre LINQ pour la vitesse supplémentaire?
  3. IS Dapper est-il toujours en développement actif et constant? GitHub me dit oui, mais comme avec Subsonic, cela peut changer assez rapidement.
  4. Est-il possible / faisable de mélanger Dapper et EF? Dapper quand on a besoin de la vitesse, sinon EF.

Je vous remercie!

Réponse acceptée

  1. Quelqu'un at-il des mises à jour sur les performances concernant EF 6.1.x? Cela concerne les requêtes générales faites dans un DbContext?

Réponse : Je n'ai pas de chiffres spécifiques, mais j'ai mis à jour la performance rig vers EF6; Je ne me souviens pas exactement du résultat, mais: EF6 est beaucoup plus rapide qu'EF-old, mais Dapper est toujours beaucoup plus rapide dans de nombreux scénarios (et à peu près la même chose pour les Edge-Cases)

  1. Je suppose que je ne peux pas utiliser des requêtes LINQ bien formatées avec Dapper. Avez-vous de l'expérience avec ça? Est-ce que cela vaut la peine de perdre LINQ pour la vitesse supplémentaire?

Ans : c'est subjectif; pour nous: oui, ça vaut vraiment le coup - mais nous nous soucions beaucoup de la vitesse. L'analyse des arbres d'expression a un impact, et le SQL généré est très rarement dans la même catégorie que le SQL artisanal par un développement décent

  1. IS Dapper est-il toujours en développement actif et constant? GitHub me dit oui, mais comme pour Subsonic, cela peut changer assez rapidement?

Ans : Absolument Je pense avoir déployé environ 4 versions ce mois-ci ...

  1. Est-il possible / faisable de mélanger Dapper et EF? Dapper quand on a besoin de la vitesse, sinon EF?

Ans : Oui, vous pouvez le faire; c'est ainsi que nous avons commencé avec dapper - nous avons utilisé cela pour remplacer le code LINQ to SQL qui causait des problèmes de performances; au fil du temps, cela avait grandi, et maintenant nous avons très peu de code LINQ to SQL (mais encore du code)



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi