Home > Enterprise >  C# How to Iterate in an IEnumerable<object>
C# How to Iterate in an IEnumerable<object>

Time:07-18

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>
          
        }
  • Related