Services Web et Entity Data Model (scénarios d'application)

Modèle de données d'entité (EDM) fournit une couche conceptuelle d'abstraction sur la source de données. Object Services matérialise les entités définies dans la couche conceptuelle dans des objets CLR qui peuvent être utilisés dans des applications clientes, par exemple, des applications Windows Forms ou ASP.NET. Entity Framework prend en charge la sérialisation d'objets d'entité dans des formats qui permettent l'échange à distance et par message d'objets d'entité, tels que les services Web et WCF (Windows Communication Foundation). Les objets peuvent être sérialisés selon la méthode de la sérialisation binaire, de la sérialisation XML et de la sérialisation de contrat WCF pour en assurer le transport au moyen de protocoles basés sur les flux binaires ou les messages. Pour plus d'informations, voir Sérialisation d'objets (Entity Framework). Les objets peuvent également être reçus au moyen d'un message ou d'un flux, désérialisés et attachés à un contexte d'objet. Pour plus d'informations, voir Attachement d'objets (Entity Framework).

ADO.NET Data Services permet également de fournir un accès dynamique aux données EDM dans un format XML exploitable par les applications. Ces données d'entité sont accessibles via des actions HTTP REST (Representational State Transfer) standard, telles que GET, PUT et POST. Pour plus d'informations, voir ADO.NET Data Services Framework.

Lorsqu'il s'agit de créer des services Web ou WCF utilisant Entity Framework, il est recommandé de tenir compte des points suivants :

  • La sérialisation de graphiques complets est prise en charge pour la sérialisation binaire et la sérialisation de contrat de données. La sérialisation XML ne sérialise pas les objets connexes.

  • Les objets sont toujours désérialisés à l'état Detached. Vous pouvez être amené à attacher ou ajouter l'objet à un ObjectContext, ou vous pouvez souhaiter simplement appliquer des modifications de propriété à l'objet d'origine. Pour plus d'informations, voir Attachement d'objets (Entity Framework).

  • Les services sans état sont recommandés. Les services doivent être conçus de telle sorte qu'un contexte d'objet ne soit conservé que le temps d'une demande ou d'une réponse. Le modèle d'échange de messages doit inclure suffisamment d'informations afin que les modifications puissent être appliquées sans qu'il soit nécessaire de rendre les objets persistants ou de réinterroger la source de données de façon à extraire l'objet d'origine. Par exemple, un service qui permet à un client de mettre à jour les objets doit exiger qu'un objet mis à jour soit retourné avec l'objet d'origine. Les modifications peuvent ainsi être appliquées à l'objet d'origine par le service Web à l'aide de la méthode ApplyPropertyChanges sans qu'il soit nécessaire d'extraire l'objet d'origine de la base de données ou de le conserver en mémoire. Pour plus d'informations, voir Procédure : appliquer des modifications apportées à un objet détaché (Entity Framework).

Voir aussi

Concepts

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