Files
PersonaCasa/back/Infra/Application_Db_Context.cs
Alejandro Sarmiento b672887299 Primera subida
2024-04-06 03:32:16 +02:00

85 lines
2.4 KiB
C#

using back.Entities;
using Microsoft.EntityFrameworkCore;
namespace back.Infra
{
public class Application_Db_Context : DbContext
{
public Application_Db_Context(DbContextOptions<Application_Db_Context> opt) : base(opt)
{ }
public virtual DbSet<Persona> Personas { get; set; }
public virtual DbSet<Casa> Casas { get; set; }
public virtual DbSet<Direccion> Direcciones { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
SeedData(modelBuilder); //en Movidas
}
#region Movidas
private static void SeedData(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Persona>().HasData(GenerarPersonas());
modelBuilder.Entity<Casa>().HasData(GenerarCasas());
modelBuilder.Entity<Direccion>().HasData(GenerarDirecciones());
}
private static List<Persona> GenerarPersonas()
{
var personas = new List<Persona>();
for (int i = 1; i <= 1000; i++)
{
personas.Add(new Persona
{
Id = i,
Name = $"Nombre{i}",
Surname = $"Apellido{i}",
});
}
return personas;
}
private static List<Casa> GenerarCasas()
{
var casas = new List<Casa>();
for (int i = 1; i <= 1000; i++)
{
casas.Add(new Casa
{
Id = i,
NombreCasa = $"Casa{i}",
NumeroHabitaciones = new Random().Next(1, 5),
DireccionId = i,
// Asumimos que PersonaId es una propiedad que debería existir para relacionar con Persona
PersonaId = i
});
}
return casas;
}
private static List<Direccion> GenerarDirecciones()
{
var direcciones = new List<Direccion>();
for (int i = 1; i <= 1000; i++)
{
direcciones.Add(new Direccion
{
Id = i,
Calle = $"Calle{i}",
Numero = new Random().Next(1, 100),
});
}
return direcciones;
}
#endregion Movidas
}
}