Información general de Servicios de objeto (Entity Framework)

Servicios de objeto es un componente de Entity Framework que permite consultar, insertar, actualizar y eliminar datos, expresados como objetos CLR con establecimiento inflexible de tipos que son instancias de tipos de entidad. Servicios de objeto admite tanto consultas LINQ (Language-Integrated Query) como consultas Entity SQL con los tipos que se definen en un modelo Entity Data Model (EDM). Servicios de objeto materializa los datos devueltos como objetos y propaga los cambios de los objetos de vuelta al origen de datos. También proporciona medios para realizar el seguimiento de los cambios, enlazar los objetos a los controles y controlar la simultaneidad. Servicios de objeto es implementado por clases de los espacios de nombres System.Data.Objects y System.Data.Objects.DataClasses.

Contexto del objeto

La clase ObjectContext es la clase principal para interactuar con datos en forma de objetos que son instancias de los tipos de entidad que se definen en un modelo EDM. Una instancia de la clase ObjectContext encapsula lo siguiente:

  • Una conexión con la base de datos, en forma de un objeto EntityConnection.

  • Los metadatos que describen el modelo, en forma de un objeto MetadataWorkspace.

  • Un objeto ObjectStateManager que realiza el seguimiento de los objetos durante las operaciones de creación, actualización y eliminación.

Las herramientas de Entity Framework usan un archivo de lenguaje de definición de esquemas conceptuales (CSDL) y generan el código del nivel de objeto. Este código se utiliza para trabajar con los datos de entidad como objetos y aprovecharse de la funcionalidad de Servicios de objeto. Este código generado incluye las clases de datos siguientes:

  • Clase ObjectContext con tipo. Esta clase representa el elemento EntityContainer para el modelo y se deriva de ObjectContext.

  • Las clases que representan tipos de entidad y heredan de la clase EntityObject.

  • Las clases que representan tipos complejos y heredan de la clase ComplexObject.

Nota

La clase ObjectContext no es segura para la ejecución de subprocesos. La integridad de los objetos de datos en ObjectContext no se puede asegurar en situaciones de varios subprocesos.

Usar Servicios de objeto

Servicios de objeto admite el comportamiento siguiente para programar con Entity Framework.

Consultar datos como objetos

Servicios de objeto permite utilizar métodos del generador de consultas, LINQ o Entity SQL para ejecutar las consultas con Entity Data Model y devolver los datos como objetos. Para obtener más información, vea Consultas de objeto [Entity Framework].

Dar forma a los resultados de la consulta

De forma predeterminada, Servicios de objeto sólo devuelve los objetos solicitados específicamente en la consulta. Cuando existen relaciones entre los objetos, puede especificar si una consulta devuelve los objetos relacionados. También puede cargar los objetos relacionados en una solicitud posterior. Para obtener más información, vea Dar forma a los resultados de la consulta (Entity Framework).

Redactar consultas utilizando los métodos de generador

Servicios de objeto proporciona métodos de ObjectQuery que se utilizan para crear consultas que son equivalentes a las consultas Entity SQL y LINQ to Entities. Para obtener más información, vea Métodos del generador de consultas (Entity Framework).

Agregar, cambiar y eliminar objetos

Servicios de objeto conserva los objetos de datos en memoria y permite agregar, modificar y eliminar objetos dentro de un contexto del objeto. Los cambios realizados en objetos son sometidos a seguimiento por el contexto del objeto. Para obtener más información, vea Agregar, modificar y eliminar objetos (Entity Framework).

Guardar cambios en el origen de datos

Servicios de objeto almacena en caché los cambios de los objetos del contexto del objeto. Cuando se solicita explícitamente, Servicios de objeto guarda esos cambios de nuevo en el origen de datos. Para obtener más información, vea Guardar los cambios y administrar la simultaneidad (Entity Framework).

Enlazar objetos a controles

Servicios de objeto permite el enlace de objetos a controles que admiten el enlace de datos, como el control DataGridView. Para obtener más información, vea Enlazar objetos a controles (Entity Framework).

Asociar objetos

Servicios de objeto permite asociar directamente los objetos existentes a un contexto del objeto. Esto posibilita asociar los objetos que han sido almacenados en el estado de vista de una aplicación ASP.NET o que se han devuelto en una llamada a un método remoto o en un servicio web. Para obtener más información, vea Asociar objetos (Entity Framework).

Desasociar objetos

Puede que una instancia del contexto del objeto tenga que conservarse durante la ejecución de una aplicación, como cuando los objetos se enlazan a los controles de formularios Windows Forms. Servicios de objeto permite administrar el tamaño del contexto del objeto desasociando objetos para liberar recursos cuando ya no se necesitan. Para obtener más información, vea Desasociar objetos (Entity Framework).

Serializar objetos

Servicios de objeto admite la serialización de contrato de datos de Windows Communication Foundation (WCF), la serialización binaria y la serialización XML para objetos. La serialización de contrato de datos es útil en situaciones de servicios web. La serialización binaria es especialmente útil cuando se usa el estado de vista para conservar objetos en una aplicación ASP.NET. Para obtener más información, vea Serializar objetos (Entity Framework).

Administrar identidades de objeto y realizar el seguimiento de los cambios

Servicios de objeto usa los valores de las identidades para realizar el seguimiento de los cambios de los objetos, controlar los conflictos y decidir cuándo se han de recuperar datos del origen de datos. Para obtener más información, vea Administrar el contexto del objeto (Entity Framework).

Administrar la simultaneidad

Servicios de objeto puede realizar el seguimiento de la simultaneidad cuando el atributo ConcurrencyMode de una o varias propiedades se establece en "fixed". En este caso, Servicios de objeto producirá excepciones concretas cuando se detecten infracciones de la simultaneidad. Para obtener más información, vea Guardar los cambios y administrar la simultaneidad (Entity Framework).

Administrar conexiones

Servicios de objeto permite administrar explícitamente la conexión utilizada por un contexto del objeto y proporcionar una conexión propia para el contexto del objeto. Para obtener más información, vea Administrar conexiones en Servicios de objeto (Entity Framework).

Administrar transacciones

Servicios de objeto admite transacciones de .NET Framework para coordinar operaciones con el origen de datos y dar de alta en transacciones distribuidas. Para obtener más información, vea Administrar transacciones en Servicios de objeto (Entity Framework).

Usar objetos personalizados con Entity Data Model

Servicios de objeto permite definir manualmente objetos propios o utilizar los objetos existentes con Entity Data Model. Para obtener más información, vea Personalizar objetos (Entity Framework).

Vea también

Otros recursos

Servicios de objeto (Entity Framework)
Tareas de Entity Framework