Entity Framework 6Entity Framework 6

Entity Framework 6 (EF6) est un mappeur Objet Relationnel (O/RM) éprouvé pour .NET qui bénéficie de nombreuses années de développement de fonctionnalités et de stabilisation.Entity Framework 6 (EF6) is a tried and tested object-relational mapper (O/RM) for .NET with many years of feature development and stabilization.

Tout comme un O/RM, EF6 réduit la différence d’impédance entre les mondes Relationnel et Objet. Cela permet aux développeurs d’écrire des applications qui interagissent avec des données stockées dans des bases de données relationnelles à l’aide d’objets .NET fortement typés représentant le domaine de l’application. De cette façon, ils n’ont plus besoin d’écrire une grande partie du code « de raccordement » qui sert à accéder aux données.As an O/RM, EF6 reduces the impedance mismatch between the relational and object-oriented worlds, enabling developers to write applications that interact with data stored in relational databases using strongly-typed .NET objects that represent the application's domain, and eliminating the need for a large portion of the data access "plumbing" code that they usually need to write.

EF6 implémente de nombreuses fonctionnalités O/RM populaires :EF6 implements many popular O/RM features:

  • Mappage de classes d’entité OCT qui ne dépendent pas d’un type EFMapping of POCO entity classes which do not depend on any EF types
  • Détection automatique des changementsAutomatic change tracking
  • Résolution d’identité et unité de travailIdentity resolution and Unit of Work
  • Chargement hâtif, différé et expliciteEager, lazy and explicit loading
  • Traduction des requêtes fortement typées à l’aide de LINQ (Language Integrated Query)Translation of strongly-typed queries using LINQ (Language INtegrated Query)
  • Fonctionnalités de mappage complètes, notamment la prise en charge des points suivants :Rich mapping capabilities, including support for:
    • Relations un-à-un, un-à-plusieurs et plusieurs-à-plusieursOne-to-one, one-to-many and many-to-many relationships
    • Héritage (table par hiérarchie, table par type et table par classe concrète)Inheritance (table per hierarchy, table per type and table per concrete class)
    • Types complexesComplex types
    • Procédures stockéesStored procedures
  • Un concepteur visuel pour créer des modèles d’entité.A visual designer to create entity models.
  • Une expérience « Code First » pour créer des modèles d’entité en écrivant du code.A "Code First" experience to create entity models by writing code.
  • Les modèles peuvent être générés à partir de bases de données existantes et modifiés à la main, ou créés à partir de zéro et utilisés pour générer de nouvelles bases de données.Models can either be generated from existing databases and then hand-edited, or they can be created from scratch and then used to generate new databases.
  • Intégration aux modèles d’application .NET Framework, y compris ASP.NET, et au moyen de la liaison de données avec WPF et WinForms.Integration with .NET Framework application models, including ASP.NET, and through databinding, with WPF and WinForms.
  • Connectivité de base de données basée sur ADO.NET et nombreux fournisseurs disponibles pour établir la connexion à SQL Server, Oracle, MySQL, SQLite, PostgreSQL, DB2, etc.Database connectivity based on ADO.NET and numerous providers available to connect to SQL Server, Oracle, MySQL, SQLite, PostgreSQL, DB2, etc.

Dois-je utiliser EF6 ou EF Core ?Should I use EF6 or EF Core?

EF Core est une version plus moderne, légère et extensible d’Entity Framework, qui a des avantages et des fonctionnalités très similaires à EF6.EF Core is a more modern, lightweight and extensible version of Entity Framework that has very similar capabilities and benefits to EF6. EF Core est le résultat d’une réécriture complète et contient de nombreuses nouvelles fonctionnalités non disponibles dans EF6, même s’il lui manque encore certaines des fonctionnalités de mappage les plus avancées d’EF6.EF Core is a complete rewrite and contains many new features not available in EF6, although it also still lacks some of the most advanced mapping capabilities of EF6. Nous vous recommandons d’utiliser EF Core dans les nouvelles applications si l’ensemble des fonctionnalités correspond à vos besoins.We recommend using EF Core in new applications as long as the feature set matches your requirements. La section Comparer EF Core et EF6 examine ce choix plus en détail.Compare EF Core & EF6 examines this choice in greater detail.

Bien démarrerGet Started

Ajoutez le package NuGet EntityFramework à votre projet ou installez Entity Framework Tools pour Visual Studio.Add the EntityFramework NuGet package to your project or install the Entity Framework Tools for Visual Studio. Ensuite, regardez les vidéos, lisez les tutoriels et la documentation avancée pour vous aider à tirer le meilleur parti d’EF6.Then watch videos, read tutorials, and advanced documentation to help you make the most of EF6.

Versions précédentes d’Entity FrameworkPast Entity Framework Versions

Il s’agit de la documentation de la dernière version d’Entity Framework 6, bien qu’une grande partie s’applique aussi aux versions précédentes.This is the documentation for the latest version of Entity Framework 6, although much of it also applies to past releases. Consultez les rubriques Nouveautés et Versions précédentes pour obtenir la liste complète des versions EF et des fonctionnalités introduites par chacune.Check out What's New and Past Releases for a complete list of EF releases and the features they introduced.