Ir al contenido principal

Inicializar las propiedades DbSet de Entity Framework en la clase DbContext

EntityFramework es un framework ORM desarrollado por Microsoft. Cada vez que definimos las propiedades DbSet<>, que hacen referencia a cada una de las entidades de nuestra aplicación, obtenemos un mensaje que nos avisa que las propiedades no han sido inicializadas. Si bien el mensaje en sí no impide que compile el proyecto correctamente, puede parecerte molesto, así que aquí va una solución sencilla:

public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    // Declaración de las entidades

    public DbSet<Entidad> MisDatos => Set<Entidad>();

    //....
}

En el código anterior inicializamos la propiedad MisDatos usando una expresión lambda con el valor por defecto de Set<>(). Esto hará que durante el desarrollo, el compilador interprete que la propiedad está inicializada suprimiendo cualquier mensaje. Por otro lado durante la ejecución estarán disponibles los datos como cabe esperar.