Un ejemplo
Vamos a crear las entidades en C# para el escenario que has descrito. Asumiré que estás utilizando Entity Framework Core para interactuar con la base de datos SQL Server.
Primero, define las entidades:
// Categoría
public class Categoria
{
public int Id { get; set; }
public string Nombre { get; set; }
public string Descripcion { get; set; }
public ICollection<Prueba> Pruebas { get; set; } = new List<Prueba>();
}
// Prueba
public class Prueba
{
public int Id { get; set; }
public string Nombre { get; set; }
public int ValorReferencia { get; set; }
public int CategoriaId { get; set; }
public Categoria Categoria { get; set; }
public ICollection<PacientePrueba> PacientesPruebas { get; set; } = new List<PacientePrueba>();
}
// Paciente
public class Paciente
{
public int Id { get; set; }
public string Nombre { get; set; }
public string Telefono { get; set; }
public string Email { get; set; }
public ICollection<PacientePrueba> PacientesPruebas { get; set; } = new List<PacientePrueba>();
}
// Relación N a N entre Paciente y Prueba
public class PacientePrueba
{
public int PacienteId { get; set; }
public Paciente Paciente { get; set; }
public int PruebaId { get; set; }
public Prueba Prueba { get; set; }
}
Ahora, crea el contexto de la base de datos:
public class TuDbContext : DbContext
{
public DbSet<Categoria> Categorias { get; set; }
public DbSet<Prueba> Pruebas { get; set; }
public DbSet<Paciente> Pacientes { get; set; }
public DbSet<PacientePrueba> PacientesPruebas { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// Configura la cadena de conexión SQL Server aquí
optionsBuilder.UseSqlServer("TuCadenaDeConexion");
}
}
Finalmente, para insertar 5 categorías, 20 pruebas y 20 pacientes, puedes hacerlo en tu aplicación principal o en un método de inicialización. Aquí hay un ejemplo básico:
class Program
{
static void Main()
{
using (var context = new TuDbContext())
{
// Insertar 5 categorías
for (int i = 1; i <= 5; i++)
{
var categoria = new Categoria
{
Nombre = $"Categoria{i}",
Descripcion = $"Descripción{i}"
};
context.Categorias.Add(categoria);
}
// Insertar 20 pruebas
for (int i = 1; i <= 20; i++)
{
var prueba = new Prueba
{
Nombre = $"Prueba{i}",
ValorReferencia = i % 10, // Solo un ejemplo para el valor de referencia
CategoriaId = i % 5 + 1 // Asignar una categoría existente
};
context.Pruebas.Add(prueba);
}
// Insertar 20 pacientes
for (int i = 1; i <= 20; i++)
{
var paciente = new Paciente
{
Nombre = $"Paciente{i}",
Telefono = $"Tel{i}",
Email = $"paciente{i}@correo.com"
};
context.Pacientes.Add(paciente);
}
context.SaveChanges();
}
}
}
Este código asume que tienes una base de datos con la cadena de conexión configurada en el contexto de la base de datos. Asegúrate de cambiar “TuCadenaDeConexion” con la conexión SQL Server adecuada.