29.Entity Framework: Creamos nuestras tablas
- Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de ASP.NET Core que nos ayudan a crear aplicaciones web basadas en datos.Al final de este curso, podremos realizar todas las operaciones de un CRUD, es decir, crear, leer, actualizar y eliminar datos utilizando SQL Server como nuestra base de datos.
- En este vídeo crearemos nuestra estructura de base de datos con entity framework core. Para ello es necesario trabajar con migraciones.Usaremos el Package Manager Console (PMC) o la interfaz de línea de comandos (CLI). Si estás utilizando Visual Studio como yo, usa la consola del Administrador de paquetes y haz lo siguiente:
- Iniciar Package Manager Console en Visual Studio, haga clic en Ver - Otras ventanas - Package Manager Console
- 1) Utiliza el comando Add-Migration InitialCreate para agregar una nueva migración
- 2)Crea los métodos para trabajar con la base de datos.Yo ya los tengo preparados. Ahora codificamos sobreescribiendo el método OnModel
- 3) Utiliza el comnado Add-Migration SeedAmigoTable que creara dentro de la carpeta migration un nuevo archivo además de los anteriores
- 4)Update-Database -->Actualiza la base de datos a una migración especificada
- En el siguiente vídeo lo puedes ver con más detalles:
- Código de la clase AppDbContext:
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Ejemplo1.Models
{
public class AppDbContext:DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options): base(options)
{
}
public DbSet<Amigo> Amigos { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Amigo>().HasData(new Amigo
{
Id = 1,
Nombre = "Pepe",
Ciudad = Provincia.Madrid,
Email = "mail@mimail.es"
},
new Amigo
{
Id = 2,
Nombre = "juan",
Ciudad = Provincia.Lugo,
Email = "mail@mimail2.es"
},
new Amigo
{
Id = 3,
Nombre = "Laura",
Ciudad = Provincia.Cantabria,
Email = "mail@mimail3.es"
}
);
}
}
}