Vue d'ensemble d'Object Services (Entity Framework)

Object Services est un composant d'Entity Framework qui vous permet d'interroger, insérer, mettre à jour et supprimer des données exprimées sous forme d'objets CLR fortement typés qui correspondent à des instances de types d'entités. Ce composant prend en charge les requêtes LINQ (Language-Integrated Query) et les requêtes Entité SQL par rapport aux types définis dans un modèle EDM (Modèle de données d'entité). Object Services matérialise les données retournées sous forme d'objets et répercutent les modifications apportées aux objets dans la source de données. Ils proposent également des fonctions de suivi des modifications, de liaison d'objets à des contrôles et de gestion de l'accès concurrentiel. Object Services est implémenté par des classes dans les espaces de noms System.Data.Objects et System.Data.Objects.DataClasses.

Contexte de l'objet

La classe ObjectContext est la classe principale utilisée pour l'interaction avec des données prenant la forme d'objets correspondant à des instances des types d'entités définis dans un modèle EDM. Une instance de la classe ObjectContext renferme les éléments suivants :

  • Une connexion à la base de données, sous la forme d'un objet EntityConnection.

  • Les métadonnées qui décrivent le modèle, sous la forme d'un objet MetadataWorkspace.

  • Un objet ObjectStateManager qui assure le suivi des objets lors des opérations de création, de mise à jour et de suppression.

Les outils Entity Framework utilisent un fichier CSDL (Conceptual Schema Definition Language) et génèrent le code de la couche objet. Ce code permet d'utiliser des données d'entité en tant qu'objets et de tirer parti de fonctionnalités d'Object Services. Ce code généré inclut les classes de données suivantes :

  • Une classe ObjectContext typée. Cette classe représente l'objet EntityContainer du modèle et est dérivée de ObjectContext.

  • Les classes qui représentent des types d'entités et qui héritent de l'objet EntityObject.

  • Les classes qui représentent des types complexes et qui héritent de l'objet ComplexObject.

NoteRemarque

La classe ObjectContext n'est pas thread-safe. L'intégrité des objets de données d'une classe ObjectContext ne peut pas être assurée dans les scénarios multithread.

Utilisation d'Object Services

Object Services prend en charge le comportement suivant lors de la programmation sur Entity Framework.

Interrogation des données sous forme d'objets

Object Services vous permet d'utiliser LINQ, Entité SQL ou des méthodes du Générateur de requêtes pour exécuter des requêtes sur un modèle EDM (Modèle de données d'entité) et de retourner des données sous forme d'objets. Pour plus d'informations, voir Requêtes d'objet (Entity Framework).

Mise en forme des résultats de requête

Par défaut, Object Services ne retourne que les objets spécifiquement demandés dans la requête. Lorsqu'il existe des relations entre des objets, vous pouvez spécifier si une requête retourne les objets connexes. Vous pouvez également charger les objets connexes dans une demande ultérieure. Pour plus d'informations, voir Mise en forme des résultats de requête (Entity Framework).

Composition de requêtes à l'aide de méthodes du Générateur de requêtes

Object Services propose des méthodes sur l'objet ObjectQuery qui sont utilisées pour construire des requêtes équivalentes à des requêtes Entité SQL et LINQ to Entities. Pour plus d'informations, voir Méthodes du Générateur de requêtes (Entity Framework).

Ajout, modification et suppression d'objets

Object Services conserve les objets de données dans la mémoire et vous permet d'ajouter, de modifier et de supprimer des objets dans un contexte d'objet. Les modifications apportées aux objets sont suivies par le contexte d'objet. Pour plus d'informations, voir Ajout, modification et suppression d'objets (Entity Framework).

Enregistrement des modifications apportées à la source de données

Object Services met en cache les modifications apportées aux objets dans le contexte de l'objet. Lorsque la demande en est explicitement faite, Object Services enregistre ces modifications dans la source de données. Pour plus d'informations, voir Enregistrement des modifications et gestion de l'accès concurrentiel (Entity Framework).

Liaison d'objets à des contrôles

Objects Services permet la liaison d'objets à des contrôles qui prennent en charge la liaison de données, comme le contrôle DataGridView. Pour plus d'informations, voir Liaison d'objets à des contrôles (Entity Framework).

Attachement d'objets

Objects Services vous permet d'attacher des objets existants directement à un contexte d'objet. Vous pouvez ainsi attacher des objets qui ont été stockés dans l'état d'affichage d'une application ASP.NET ou qui ont été retournés à partir d'un appel de méthode distant ou d'un service Web. Pour plus d'informations, voir Attachement d'objets (Entity Framework).

Détachement d'objets

Une instance d'un contexte d'objet doit parfois être conservée pour la durée d'exécution de l'application, par exemple lorsque des objets sont liés à des contrôles Windows Form. Object Services vous permet de gérer la taille du contexte de l'objet en détachant des objets pour libérer des ressources lorsqu'elles ne sont plus utiles. Pour plus d'informations, voir Détachement d'objets (Entity Framework).

Sérialisation d'objets

Object Services prend en charge la sérialisation de contrat de données WCF (Windows Communication Foundation), la sérialisation binaire et la sérialisation XML pour les objets. La sérialisation de contrat de données est utile dans les scénarios de services Web. La sérialisation binaire est tout particulièrement utile lors de l'utilisation de l'état d'affichage pour conserver des objets dans une application ASP.NET. Pour plus d'informations, voir Sérialisation d'objets (Entity Framework).

Gestion des identités d'objet et suivi des modifications

Object Services utilise des valeurs d'identité pour assurer le suivi des modifications apportées aux objets, pour gérer les conflits et pour décider du moment où les données de la source de données sont récupérées. Pour plus d'informations, voir Gestion du contexte de l'objet (Entity Framework).

Gestion de l'accès concurrentiel

Object Services permet de suivre l'accès concurrentiel lorsque l'attribut ConcurrencyMode d'une ou plusieurs propriétés a la valeur « fixe ». Object Services lève alors des exceptions spécifiques en cas de détection de violations de l'accès concurrentiel. Pour plus d'informations, voir Enregistrement des modifications et gestion de l'accès concurrentiel (Entity Framework).

Gestion des connexions

Object Services vous permet de gérer explicitement la connexion utilisée par un contexte d'objet et de fournir votre propre connexion pour le contexte de l'objet. Pour plus d'informations, voir Gestion des connexions dans Object Services (Entity Framework).

Gestion des transactions

Object Services prend en charge les transactions .NET Framework pour coordonner les opérations sur la source de données et effectuer l'inscription dans les transactions distribuées. Pour plus d'informations, voir Gestion des transactions dans Object Services (Entity Framework).

Utilisation d'objets personnalisés avec un modèle EDM (Entity Data Model)

Object Services vous permet de définir manuellement vos propres objets ou d'utiliser des objets existants avec un modèle EDM (Modèle de données d'entité). Pour plus d'informations, voir Personnalisation des objets (Entity Framework).

Voir aussi

Autres ressources

Object Services (Entity Framework)
Tâches Entity Framework