[EF + Oracle] Object Context

Prologo

Continuando con la serie de Entity Framework (I y II) en este capítulo vamos a ver que es el Object Context.

¿Qué es Object Context?

Es la clase encargada de la gestión de la conexión con la Base de Datos y la gestión de las distintas Entidades de nuestro Modelo.

A la hora de generar el modelo de EF, ya explique, Visual Studio genera una clase para cada Entidad. Además de las Entidades, genera un objeto de Contexto.

Esta clase hereda de la Clase ObjectContext, la cual nos provee de lo siguiente:

  • Una conexión con la Base de Datos.
  • Métodos para añadir, modificar y borrar datos de la Base de Datos.
  • Conjuntos de las distintas entidades de nuestro modelo.
  • Estado de los registros cacheados (o Entidades con cambios pendientes)

 

Esta clase va a contar con una función, para cada entidad, del tipo “AddTo{ENTIDAD}({Tipo_Entidad} valor)”, la cual va a permitir agregar el parámetro “valor” al conjunto (Object Set) de la Entidad indicada por el método.

Por otro lado, va a contar una propiedad, para cada entidad, del tipo “ObjectSet<TEntity> Entidad” que va a almacenar el conjunto de datos de la entidad. Está propiedad se va a rellenar a través de la función: CreateObjectSet<TEntity> de la clase base (ObjectContext).

¿Qué es un ObjectSet?(Datos sacados de mi antiguo Blog)

Es la clase que nos permite manejar el conjunto de Entidades por un tipo dado.
Hereda de la clase genérica ObjectQuery, la cual genera una colección de resultados a través de una consulta. La consulta y la conexión van a venir indicados a través del ObjectContext.
Además también implementa las siguientes Interfaces:

  • ObjectQuery<TEntity>: genera una colección de resultados a través de una consulta. La consulta y la conexión van a venir indicados a través del ObjectContext.
  • IObjectSet<TEntity>: genera las cabeceras de los métodos que nos permiten modificar el conjunto de datos de la entidad.
  • IQueryAble<TEntity>: nos va a facilitar la funcionalidad para poder consultar los datos del objeto.
  • IEnumerable<TEntity>: nos va a permitir generar un enumerador de los datos de la entidad.
  • IQueryAble: nos va a facilitar la funcionalidad para poder consultar los datos del objeto.
  • IEnumerable: nos va a permitir generar un enumerador de los datos de la entidad.

 

Con lo indicado anteriormente, podemos decir, que un ObjectSet de una Entidad nos va a devolver todos los registros de una tabla, nos va a permitir agregar, modificar o borrar los datos de un registro, nos va a permitir hacer filtros, y listarlos.

Las consultas de datos las veremos en próximos capítulos.

 

Una propiedad importante del Contexto es “LazyLoadingEnabled”. Esta propiedad, de tipo booleana, permite indicar si la carga de los datos se realiza de forma diferida o no. ¿Qué significa esto?, que el objeto no se crea y consulta hasta que no es necesario.

 

Conclusiones:

Con  este post hemos visto que es el contexto generado por VS, algunas de sus características y donde vemos los datos de las entidades.

En los próximos episodios veremos, como consultar los ObjectSets, y como realizar operaciones CRUD.

2 comentarios en “[EF + Oracle] Object Context”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *