SQL Natif VS Entity Framework :
Étude comparative entre l’utilisation du SQL natif et Entity
Framework pour le développement des applications .Net
Zakaria Smahi
Introduction
Dans cet article nous allons faire une comparaison entre natif SQL ; c’est-à-dire l’utilisation du code
SQL directement pour exécuter des requêtes sur la base de données en question via le code Dot
Net à travers une chaîne de connexion ; et la technologie Entity Framework (E.F) avec les expressions
lambda et LINQ.
Nous allons nous focaliser sur les critères suivants :
• Performance
• Rapidité de développement
• Maintenabilité du code
• Flexibilité
• Sécurité
Nous allons les résumer ; à la une ; en points et on finira par une petite synthèse.
Cette étude a été menée en se basant sur la documentation officielle de Microsoft MSDN, les avis des
développeurs sur stackoverflow.com et developpez.com.
Rappel
Avant de commencer notre comparaison, rappelons la différence entre les deux technologies :
SQL natif :
L’utilisation du code SQL natif se fait par le biais d’une chaîne de connexion à la base de données i.e.
(l’adresse du serveur de la base de données, le nom d’utilisateur de la base de données ainsi que son
mot de passe et bien sur la base en question).
Une opération CRUD (Create, Read, Update, Delete) atomique ; passe par le processus suivant :
• Création d’une connexion avec la base de données à travers la chaîne de connexion.
• Lecture de la requête SQL.
• Exécution et récupération du résultat.
• Fermeture de la connexion.
Dans cette technologie, on exécute requêtes SQL directement, et notre application agit comme un
client du SGBD (SSMS (SQL Server Management Studio) par ex.).
14