Hoy vamos a ver dos de las clases más importantes cuando trabajamos con Entity Framework, ya sea core o normal. DbContext
y DbSet
.
1 - Qué es el DBContext?
DbContext
es una clase en Entity Framework Core que se utiliza para interactuar con una base de datos. Es la clase principal de trabajo que se utiliza para realizar operaciones CRUD (Crear, Leer, Actualizar y Eliminar) en la base de datos.
DbContext es una clase abstracta que se puede heredar para crear una clase concreta que represente el contexto de la base de datos de nuestra aplicación. Esta clase concreta se utiliza para configurar la conexión a la base de datos, definir las entidades que se almacenarán en la base de datos y aplicar cambios en la base de datos.
Aquí hay un ejemplo de código que ilustra cómo crear una clase CursoEfContext
que hereda de DbContext
:
public class CursoEfContext : DbContext
{
public CursoEfContext()
{
}
}
En este ejemplo, hemos creado una clase CursoEfContext
que hereda de DbContext
.
2 - Qué es DbSet?
DbSet
es una clase en Entity Framework Core que representa un conjunto de entidades en la base de datos. Como DbSet<Userid>
o DbSet<Working experience>
.
Cada propiedad DbSet
en una clase DbContext
representa una tabla en la base de datos. Por ejemplo, en el siguiente ejemplo de código, tenemos nuestro dbcontext en la clase CursoEfContext
que define dos propiedades de DbSet
, una para las entidades Userid
y otra para las entidades WorkingExprience
:
public class CursoEfContext : DbContext
{
public DbSet<Userid> Userids { get; set; }
public DbSet<Wokringexperience> Wokringexperiences { get; set; }
}
Una vez que hemos definido el DbSet
, podemos utilizarla para realizar operaciones CRUD. (que veremos más adelante)
Conclusión
DbContext
es una clase esencial en Entity Framework Core que proporciona una capa de abstracción sobre la base de datos y le permite interactuar con ella de manera fácil y eficiente en su aplicación.
DbSet
es una clase en Entity Framework Core que se utiliza para definir un conjunto de entidades de la base de datos y realizar operaciones CRUD sobre ellas dentro de la aplicación.