none
List - add - adicionando itens em lista com foreach - registros repetidos RRS feed

  • Pergunta

  • Criei um método para receber uma lista de id's de tabela de pessoas. A partir desta lista, quero encontrar o registro respectivo e adiciona-lo em outra lista que vai retornar para preencher um dgv.

    O problema é que à medida em que os registros são lidos os anteriores vão sendo modificados. Fica então uma lista com os mesmos dados, com tantos registros quantos forem os id's. Vai abaixo o código para ser melhor compreendido:

    public List<PessPesq> ListaPessPesq(List<int> _ids)
            {   
                using (var context = new ADVContext())
                {
                    List<PessPesq> lstFin = new List<PessPesq>();
                    PessPesq _pes = new PessPesq();
                    foreach (int it in _ids)
                    {
                        var lstPes = context.PES_PessGeral.Where(x => x.Pessoas_ID == it).First();
                        _pes.Pessoas_ID = lstPes.Pessoas_ID;
                        _pes.NomePessoa = lstPes.NomePessoa;
                        _pes.Nome_simpl = lstPes.Nome_simpl;
                        _pes.PF_PJ = (int)lstPes.PF_PJ;
                        _pes.Sex = (int)lstPes.Sex;                    
                        lstFin.Add(_pes);
                    }
    
                    return lstFin;
                }
            }


    sexta-feira, 3 de novembro de 2017 18:33

Respostas

  • Resolvi da seguinte maneira:

    public List<PessPesq> ListaPessPesq(List<int> _ids)
            {   
                using (var context = new ADVContext())
                {
                    List<PessPesq> lstFin = new List<PessPesq>();
                    PessPesq _pes = new PessPesq();
                    foreach (int it in _ids)
                    {
                        var lstPes = context.PES_PessGeral.Where(x => x.Pessoas_ID == it).First();                    
                        lstFin.Add(new PessPesq() { Pessoas_ID = lstPes.Pessoas_ID,
                                                    NomePessoa = lstPes.NomePessoa,
                                                    Nome_simpl = lstPes.Nome_simpl,
                                                    PF_PJ = (int)lstPes.PF_PJ,
                                                    Sex = (int)lstPes.Sex });                
                    }
    
                    return lstFin;
                }
            }

    sexta-feira, 3 de novembro de 2017 18:47