I have a table where I want to display the data that I get from the database but can't find a way to iterate with a foreach.
public IEnumerable<object> ObtenerTodos()
{
var pacientes = from p in _context.Pacientes
from p1 in _context.Personas
where p.IdPersona == p1.IdPersona
select new
{
Id = p1.Id,
Nombres = p1.Nombres,
Apellidos = p1.Apellidos,
Genero = p1.Genero,
Telefono = p1.Telefono,
FechaNacimiento = p.FechaNacimiento,
Ciudad = p.Ciudad
};
IEnumerable<object> pacientes1 = pacientes.ToList();
return pacientes1;
}
Here is my view
@foreach (var paciente in Model.Pacientes)
{
@foreach (var item in paciente) {
<tr>
<td>@item.Id</td>
</tr>
}
}
CodePudding user response:
Maybe you can try to set List<Paciente>
as the model of the view.Here is a simple demo:
action:
public IActionResult ObtenerTodos()
{
var pacientes = from p in _context.Pacientes
from p1 in _context.Personas
where p.IdPersona == p1.IdPersona
select new
{
Id = p1.Id,
Nombres = p1.Nombres,
Apellidos = p1.Apellidos,
Genero = p1.Genero,
Telefono = p1.Telefono,
FechaNacimiento = p.FechaNacimiento,
Ciudad = p.Ciudad
};
return View(pacientes.ToList());
}
Paciente:
public class Paciente
{
public int Id {get;set;}
public int Nombres {get;set;}
public string Apellidos {get;set;}
public string Genero {get;set;}
public string Telefono {get;set;}
public string FechaNacimiento {get;set;}
public string Ciudad {get;set;}
}
view:
@model List<Paciente>
@foreach (var paciente in Model)
{
<tr>
<td>@item.Id</td>
</tr>
}