Partager via


Sérialisation des entités de suivi automatique

Dans une application ADO.NET Entity Framework, le suivi des modifications dans vos objets est assuré par un contexte d'objet. Toutefois, lorsque vous devez manipuler des objets dans une autre couche, où le contexte d'objet n'est pas disponible, vous devez indiquer comment le suivi des modifications sera effectué et comment le rapport de ces modifications sera retransmis au contexte d'objet. À partir de la version 4 d'Entity Framework, les entités de suivi automatique peuvent vous aider à effectuer le suivi des modifications dans toutes les couches. Une entité de suivi automatique est une entité constituée à partir d'un modèle Text Template Transformation Toolkit (T4) qui génère des types d'entité qui ont la capacité d'enregistrer les modifications dans les propriétés scalaires, complexes et de navigation. Le modèle Générateur d'entité de suivi automatique ADO.NET est disponible dans Visual Studio 2010. Pour plus d'informations, consultez Procédure pas à pas : sérialiser des entités de suivi automatique.

Cet exemple est disponible sur le site Entity Framework Documentation Samples (en anglais) dans MSDN Code Gallery.

Scénario

Cet exemple montre comment un service WCF expose une série d'opérations qui retournent des graphiques d'entité. Une application cliente manipule ensuite ce graphique et soumet les modifications à une opération de service qui valide et enregistre les mises à jour dans une base de données à l'aide d'Entity Framework.

Configuration requise

Avant d'exécuter cet exemple, vérifiez que le logiciel suivant est installé :

  • Visual Studio 2010 avec .NET Framework 4

  • Moteur de base de données SQL Server 2005 ou 2008

    • Exemple de base de données School (inclus dans l'exemple)

    • SQL Server Management Studio (facultatif)

Génération de l'exemple

STESchoolModelExample est composé de 5 projets :

  • Le projet de bibliothèque de classes STESchoolModel qui contient le modèle School et les modèles d'entité de suivi automatique, ce qui inclut le modèle de types d'entité de suivi automatique et le modèle typé System.Data.Objects.ObjectContext.

  • Le projet de bibliothèque de classes STESchoolModelTypes qui se lie au modèle de types d'entité de suivi automatique figurant dans le projet STESchoolModel.

  • L'application de service Windows Communication Foundation (WCF) STESchoolModelService qui expose un ensemble d'opérations qui retournent les graphiques d'entité et applique les modifications apportées au client à la base de données.

  • Les applications clientes console STESchoolModelConsoleTest.

  • L'application cliente Windows Presentation Foundation (WPF) STESchoolModelWPFTest.

Utilisez la procédure suivante pour générer l'exemple.

Pour générer l'application STESchoolModelExample

  1. (Facultatif) Si l'exemple de base de données School n'est pas déjà présent dans votre instance de SQL Server, exécutez le script CreateSchool.sql inclus dans le projet.

  2. Ouvrez le fichier solution dans Visual Studio.

  3. (Facultatif) Si vous avez créé la base de données School dans une instance de SQL Server autre que l'instance par défaut sur l'ordinateur local, spécifiez l'instance de SQL Server correcte en modifiant la source de données dans la chaîne de connexion du fichier de configuration des projets suivants : STESchoolModelService, STESchoolModelConsoleTest et STESchoolModelWPFTest.

  4. Générez la solution.

Exécution de l'exemple

Utilisez la procédure suivante pour exécuter l'exemple.

Pour exécuter l'application cliente

  1. Mettez à jour la référence de service dans les projets clients STESchoolModelWPFTest et STESchoolModelConsoleTest. Pour mettre à jour la référence, dans l'Explorateur de solutions, cliquez avec le bouton droit sur ServiceReference1 sous le dossier Service References, puis sélectionnez Mettre à jour la référence de service.

  2. Définissez le projet STESchoolModelWPFTest ou STESchoolModelConsoleTest comme projet de démarrage.

  3. Exécutez l'application. Si le client ne parvient pas à communiquer avec le service référencé, procédez comme suit.

    1. Supprimez ServiceReference1 du projet client.

    2. Ajoutez à nouveau la référence de service. Pour ajouter une référence au service, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier Service References, puis sélectionnez Ajouter une référence de service.

    3. Configurez le service. Étant donné que STESchoolModelService retourne System.Collections.Generic.List, vous devez configurer la référence de service. Cliquez avec le bouton droit sur le nom du service (ServiceReference1), puis sélectionnez Configurer la référence de service.... Dans la boîte de dialogue Configurer la référence de service, sélectionnez le type System.Collections.Generic.List dans la liste Type de collection.

    4. Exécutez l'application.

Suppression de l'exemple

Utilisez la procédure suivante pour supprimer l'exemple STESchoolModelExample.

Pour supprimer l'application STESchoolModelExample

  1. Supprimez le répertoire du projet et son contenu.

  2. (Facultatif) Supprimez la base de données School de l'instance de SQL Server.

Voir aussi

Autres ressources

ADO.NET Entity Framework
Entity Data Model
Outils ADO.NET Entity Data Model
Liaison d'objets à des contrôles
Procédure pas à pas : sérialiser des entités de suivi automatique