Foreach repetindo valores para minha ViewModel

23/08/2019

0

Olá, ao executa meu foreach, ele está repetindo meu primeiro resultado no sql, por exemplo:
ao fazer select * from tbNome, ele traz Gabriel, Rafael
ao executar o sqlquery, ele lista Gabriel, Gabriel

List<TbListaNome> lstViewModel= new List<TbListaNome>();

var lista = db.TbListaNome.SqlQuery.("Select * from TbNome").ToList<TbListaNome>();
foreach(var item in lista)
{
       NomesViewModel viewModel = new NomesViewModel();
       viewModel .nome = item.nome;
      lstViewModel.add(viewModel);
}
return View(viewModel);

TbListaNome é db set
NomesViewModel é minha view model
Gabriel Sales

Gabriel Sales

Responder

Posts

07/10/2019

Stella Oliveira

Olá, ao executa meu foreach, ele está repetindo meu primeiro resultado no sql, por exemplo:
ao fazer select * from tbNome, ele traz Gabriel, Rafael
ao executar o sqlquery, ele lista Gabriel, Gabriel

List<TbListaNome> lstViewModel= new List<TbListaNome>();

var lista = db.TbListaNome.SqlQuery.("Select * from TbNome").ToList<TbListaNome>();
foreach(var item in lista)
{
       NomesViewModel viewModel = new NomesViewModel();
       viewModel .nome = item.nome;
      lstViewModel.add(viewModel);
}
return View(viewModel);

TbListaNome é db set
NomesViewModel é minha view model


Tenta assim:

var lstViewModel = new List<TblListaNome>;
            NomeViewModel viewModel;

            var lista = DBNull.TbListaNome.SqlQuery.("SELECT * FROM TBNOME").ToList<TblListaNome>();

            foreach(var item in lista)
            {
                viewModel = new NomeViewModel
                {
                    Nome = item.nome;
                };
                lstViewModel.Add(viewModel);
            }

            return View(lstViewModel);

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar