Entity Framework - Présentation

Qu'est-ce que Entity Framework?

Entity Framework a été lancé pour la première fois en 2008, le principal moyen d'interaction de Microsoft entre les applications .NET et les bases de données relationnelles. Entity Framework est un Object Relational Mapper (ORM) qui est un type d'outil qui simplifie le mappage entre les objets de votre logiciel et les tables et colonnes d'une base de données relationnelle.

  • Entity Framework (EF) est un framework ORM open source pour ADO.NET qui fait partie de .NET Framework.

  • Un ORM se charge de créer des connexions de base de données et d'exécuter des commandes, ainsi que de prendre des résultats de requête et de matérialiser automatiquement ces résultats en tant qu'objets d'application.

  • Un ORM permet également de garder une trace des modifications apportées à ces objets, et lorsque vous y êtes invité, il conservera également ces modifications dans la base de données pour vous.

Pourquoi Entity Framework?

Entity Framework est un ORM et les ORM visent à augmenter la productivité du développeur en réduisant la tâche redondante de persistance des données utilisées dans les applications.

  • Entity Framework peut générer les commandes de base de données nécessaires pour lire ou écrire des données dans la base de données et les exécuter pour vous.

  • Si vous effectuez une requête, vous pouvez exprimer vos requêtes par rapport aux objets de votre domaine à l'aide de LINQ to entités.

  • Entity Framework exécutera la requête appropriée dans la base de données, puis matérialisera les résultats dans des instances de vos objets de domaine pour que vous puissiez travailler dans votre application.

Il existe d'autres ORM sur le marché tels que NHibernate et LLBLGen Pro. La plupart des ORM mappent généralement les types de domaine directement sur le schéma de base de données.

Entity Framework possède une couche de mappage plus granulaire afin que vous puissiez personnaliser les mappages, par exemple, en mappant l'entité unique sur plusieurs tables de base de données ou même plusieurs entités sur une seule table.

  • Entity Framework est la technologie d'accès aux données recommandée par Microsoft pour les nouvelles applications.

  • ADO.NET semble se référer directement à la technologie des ensembles de données et des tableaux de données.

  • Entity Framework est l'endroit où tous les investissements futurs sont réalisés, ce qui est le cas depuis plusieurs années déjà.

  • Microsoft vous recommande d'utiliser Entity Framework sur ADO.NET ou LINQ to SQL pour tout nouveau développement.

Modèle conceptuel

Pour les développeurs habitués au développement axé sur les bases de données, le plus grand changement avec Entity Framework est qu'il vous permet de vous concentrer sur votre domaine d'activité. Que voulez-vous que votre application fasse sans être limitée par ce que la base de données est capable de faire?

  • Avec Entity Framework, le point focal est appelé modèle conceptuel. Il s'agit d'un modèle des objets de votre application, et non d'un modèle de la base de données que vous utilisez pour conserver les données de votre application.

  • Votre modèle conceptuel peut s'aligner sur le schéma de votre base de données ou être très différent.

  • Vous pouvez utiliser un concepteur visuel pour définir votre modèle conceptuel, qui peut ensuite générer les classes que vous utiliserez finalement dans votre application.

  • Vous pouvez simplement définir vos classes et utiliser une fonctionnalité d'Entity Framework appelée Code First. Et puis Entity Framework comprendra le modèle conceptuel.

Dans tous les cas, Entity Framework explique comment passer de votre modèle conceptuel à votre base de données. Ainsi, vous pouvez interroger vos objets de modèle conceptuel et travailler directement avec eux.

traits

Voici les fonctionnalités de base d'Entity Framework. Cette liste est créée en fonction des fonctionnalités les plus notables et également à partir des questions fréquemment posées sur Entity Framework.

  • Entity Framework est un outil Microsoft.
  • Entity Framework est développé en tant que produit Open Source.
  • Entity Framework n'est plus lié ou dépendant du cycle de publication .NET.
  • Fonctionne avec n'importe quelle base de données relationnelle avec un fournisseur Entity Framework valide.
  • Génération de commandes SQL de LINQ vers les entités.
  • Entity Framework créera des requêtes paramétrées.
  • Suit les modifications des objets en mémoire.
  • Permet d'insérer, de mettre à jour et de supprimer la génération de commandes.
  • Fonctionne avec un modèle visuel ou avec vos propres classes.
  • Entity Framework a stocké le support de procédure.