9.2.1 Creando nuestra tabla roles e insertando los roles principales

Vamos a crear nuestra tabla rol, la cual sólo contendrá el campo Id y Nombre.

Rol.cs
public class Rol
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required(ErrorMessage = "Required")]
    [Column(TypeName = "VARCHAR(50)")]
    public string Nombre { get; set; }
}

Los inserts los vamos a agregar en nuestra clase CaducaContext en el método OnModelCreating, agregamos al modelBuilder la propiedad Entity y le pasamos de cual tabla deseamos agregar datos, en estaecaso rol, luego en el método HasData agregamos los 3 roles que necesitamos, "Administrador", "Vendedor", "Cliente". De esta forma estos inserts se agregan a la migración si luego cambiamos el nombre de un campo se realizará un Update.

Recuerda también agregar la entidad Rol

CaducaContex.cs
public class CaducaContext : DbContext
{
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Rol>().HasData(
               new Rol { Id = 1,  Nombre = "Administrador" },
               new Rol { Id = 2,  Nombre = "Vendedor" },
               new Rol { Id = 3,  Nombre = "Cliente" },
               new Rol { Id = 4,  Nombre = "Supervisor" }
        );     
    }
    public virtual DbSet<Rol>  Rol { get; set; }
}

Creamos una nueva migración TablaRol

Comando en Windows

Comando en mac

Si revisamos el archivo de migración verás que se agrega las funciones InsertData para realizar los insert a nuestra tabla rol

Actualizamos la base de datos

Comando en windows

Comando en mac

Listo hemos creado nuestros primeros inserts con migraciones

Last updated

Was this helpful?