Compartir a través de


Serializar entidades de seguimiento propio

En una aplicación ADO.NET Entity Framework, el responsable de realizar el seguimiento de los cambios en los objetos es un contexto de objetos. Sin embargo, si necesita manipular objetos en otro nivel, donde el contexto de objetos no está disponible, deberá decidir cómo realizar el seguimiento de cambios y notificar esos cambios al contexto de objetos. A partir de la versión 4 de Entity Framework, las entidades con seguimiento propio pueden ayudarle a realizar el seguimiento de los cambios en cualquier nivel. Una entidad con seguimiento propio es una entidad generada desde una plantilla del Kit de herramientas de transformación de plantillas de texto (T4) que genera tipos de entidad con la capacidad de registrar cambios en las propiedades escalares, complejas y de navegación. La plantilla Generador de entidades de seguimiento propio de ADO.NET está disponible a partir de Visual Studio 2010. Para obtener más información, vea Tutorial: Serializar entidades de seguimiento propio.

Este ejemplo está disponible en el sitio de ejemplos de documentación de Entity Framework en la galería de código de MSDN.

Escenario

El ejemplo demuestra la manera en que un servicio WCF expone una serie de operaciones que devuelven gráficos de entidades A continuación, una aplicación cliente manipula dicho gráfico y envía las modificaciones a una operación de servicio que valida y guarda las actualizaciones en una base de datos utilizando Entity Framework.

Requisitos previos

Antes de ejecutar este ejemplo, asegúrese de que tiene instalado el siguiente software:

  • Visual Studio 2010 con .NET Framework 4

  • Motor de base de datos de SQL Server 2005 o 2008

    • Base de datos de ejemplo School (incluida en el ejemplo)

    • SQL Server Management Studio (opcional)

Compilar el ejemplo

El ejemplo STESchoolModelExample está formado por 5 proyectos:

  • El proyecto de biblioteca de clases STESchoolModel que contiene el modelo basado en School y las plantillas de entidades de seguimiento propio, que incluyen los tipos de entidades de seguimiento propio y la plantilla System.Data.Objects.ObjectContext tipificada.

  • El proyecto de biblioteca de clases STESchoolModelTypes vinculado a la plantilla de tipos de entidades de seguimiento propio ubicada en el proyecto STESchoolModel.

  • La aplicación de servicio WCF (Windows Communication Foundation) STESchoolModelService, que expone un conjunto de operaciones que devuelven gráficos de entidades y aplican cambios efectuados en el cliente a la base de datos.

  • Aplicaciones de cliente de consola STESchoolModelConsoleTest.

  • STESchoolModelWPFTest, la aplicación cliente Windows Presentation Foundation (WPF).

Use el siguiente procedimiento para compilar el ejemplo.

Para compilar la aplicación STESchoolModelExample

  1. (Opcional) Si la base de datos de ejemplo School no se encuentra en su instancia de SQL Server, ejecute el script CreateSchool.sql incluido con el proyecto.

  2. Abra el archivo de solución en Visual Studio.

  3. (Opcional) Si creó la base de datos School en una instancia de SQL Server diferente de la instancia predeterminada en el equipo local, especifique la instancia de SQL Server correcta modificando el origen de datos en la cadena de conexión en el archivo de configuración de los siguientes proyectos: STESchoolModelService, STESchoolModelConsoleTest, STESchoolModelWPFTest.

  4. Genere la solución.

Ejecutar el ejemplo

Use el siguiente procedimiento para ejecutar el ejemplo.

Para ejecutar la aplicación cliente

  1. Actualice la referencia de servicio en los proyectos cliente STESchoolModelWPFTest y STESchoolModelConsoleTest. Para actualizar la referencia, en el Explorador de soluciones, haga clic con el botón secundario en ServiceReference1 en la carpeta Service References y seleccione Actualizar referencia de servicio.

  2. Establezca STESchoolModelWPFTest o STESchoolModelConsoleTest como parte del proyecto de inicio.

  3. Ejecute la aplicación. Si el cliente no consigue comunicarse con el servicio al que se hace referencia, continúe con el siguiente paso.

    1. Elimine ServiceReference1 del proyecto cliente.

    2. Agregue la referencia de servicio de nuevo. Para agregar una referencia al servicio, en el Explorador de soluciones, haga clic con el botón secundario en la carpeta Service References y, a continuación, seleccione Agregar referencia de servicio.

    3. Configure el servicio. Puesto que STESchoolModelService devuelve System.Collections.Generic.List, es necesario que configure la referencia de servicio. Haga clic con el botón secundario en el nombre de servicio (ServiceReference1) y, a continuación, seleccione Configurar referencia de servicio. En el cuadro de diálogo Configurar referencia de servicio, seleccione el tipo System.Collections.Generic.List en la lista Tipo de colección.

    4. Ejecute la aplicación.

Quitar el ejemplo

Use el siguiente procedimiento para quitar el ejemplo STESchoolModelExample.

Para quitar la aplicación STESchoolModelExample

  1. Elimine el directorio de proyecto y su contenido.

  2. (Opcional) Quite la base de datos School de la instancia de SQL Server.

Vea también

Otros recursos

ADO.NET Entity Framework
Entity Data Model
Herramientas de Entity Data Model de ADO.NET
Enlazar objetos a controles
Tutorial: Serializar entidades de seguimiento propio