Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 506563
            [titulo] => Tabela retornando vallores repeditos
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-01-07 18:27:31
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 232232
            [status] => A
            [isExample] => 
            [NomeUsuario] => Joel Rodrigues
            [Apelido] => 
            [Foto] => 232232_20161017163010.jpg
            [Conteudo] => Ah, então achamos o problema.
Auto-incremento em view, não dá. Mas talvez fosse possa usar a função ROW_NUMBER do SQL Server para trazer uma coluna com números sequenciais.
Mas de toda forma, reveja esse seu filtro, pois não deveria ser necessário complicar tanto assim para fazer uma simples consulta. Reveja a estrutura da sua view. ) )

Tabela retornando vallores repeditos

Randrade
   - 23 dez 2014

Olá galera, possuo uma action retornando os dados de uma tabela, porém os dados estão retornando duplicados. E cada atualização na página eles mudam( porém repetido).
Ex: Tabela (Clique na imagem para abrir em uma nova janela)
Ai quando eu atualizo o navegador, os dados mudam, porém vêm repetido da mesma forma. Sempre retornando os mesmos dados, repetidos, a cada refresh.
Segue meu método, mas analisarem.
UsuarioController:
#Código

 public ActionResult Dependente()
        {
            var dependentes = dependenteRepository.Lista.Where(x => x.slogin == autenticacaoProvider.UsuarioAutenticado.Login);
            return View(dependentes);
        }


Método Lista:
#Código
public IQueryable<Entities.Dependente> Lista
        {
            get { return context.Dependentes.AsQueryable(); }
        }


Se alguém puder me ajudar, eu agradeço.

Post mais votado

Joel Rodrigues
   - 07 jan 2015

Ah, então achamos o problema.
Auto-incremento em view, não dá. Mas talvez fosse possa usar a função ROW_NUMBER do SQL Server para trazer uma coluna com números sequenciais.
Mas de toda forma, reveja esse seu filtro, pois não deveria ser necessário complicar tanto assim para fazer uma simples consulta. Reveja a estrutura da sua view.

1
|
0

Randrade
   - 23 dez 2014

Desculpe a escrita to título, estava com pressa ao digitar... kkkk

0
|
0

Jothaz
   - 23 dez 2014

Ih camarada, beleza?

Qual a estrutura da tabela Dependentes?

0
|
0

Randrade
   - 23 dez 2014

Beleza sim brother.

Bom, segue uma imagem, pois estou sem acesso a aplicação neste momento.

Clique na imagem para abrir em uma nova janela

Neste caso, ao invés de fazer uma busca pelo ID do usuário logado, eu estou realizando a busca pelo login, pois não terá 2 logins semelhantes.

0
|
0

Joel Rodrigues
   - 26 dez 2014

Como está sua view?

0
|
0

Randrade
   - 29 dez 2014

Segue o código da view, como você pediu Joel:

#Código

@model IEnumerable<PortalRH.DomainModel.Entities.Dependente>

@{
    ViewBag.Title = "Dependente";
}

<h2>Dependentes</h2>
<hr/>
<div class=" table">
    <table>
        <tr>
            <th>
                Nome
            </th>
            <td>
            <th>
                Grau de Dependência
            </th>
            <td>
            <th>
                CPF
            </th>

        </tr>

        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @item.Nome_dependente
                </td>
                <td></td><td></td><td></td><td></td>
                <td>
                    @item.DsGrauDependencia
                </td>
                <td></td><td></td><td></td><td></td>
                <td>
                    @item.NRCPF
                </td>
            </tr>
        }

    </table>
</div>


No Debug, eu vejo que ele está fazendo o foreach corretamente, e me retorna a quantidade exata que é para retornar. Porém a cada "loop", os valores não mudam.

Resumindo, me traz a quantidade correta, porém com os valores repetidos.

0
|
0

Joel Rodrigues
   - 29 dez 2014

Na action Dependente, coloque um breakpoint na linha onde está o return e veja se a variável dependentes está contendo os itens corretos.

0
|
0

Randrade
   - 29 dez 2014

Já havia feito isto.

Ela está percorrendo a quantidade de vezes correta( quantidade de dados cadastrados), porém o valor dos campos continuam o mesmo.

Exemplo: Possuo na tabela 3 dados, Joao, Maria e Antonio.
Ele percorre a tabela 3x e me trás (Joao, Joao, Joao), ai eu dou um reflesh no navegador, e vem (Maria, Maria, Maria) e a cada reflesh, altera o valor, ams sempre os mesmos.

0
|
0

Randrade
   - 30 dez 2014

Ai galera, ainda estou com o mesmo problema, alguém saberia como resolver?

0
|
0

Joel Rodrigues
   - 30 dez 2014

Temos que identificar a origem do erro. Nesta linha abaixo, a variável dependentes contém os itens corretos, ou já aí ela contém os itens repetidos?
#Código

var dependentes = dependenteRepository.Lista.Where(x => x.slogin == autenticacaoProvider.UsuarioAutenticado.Login);

0
|
0

Randrade
   - 05 jan 2015

Joel, ao debugar, nesta linha, especificamente, eu só consigo ver a consulta em si.

Mas colocanco um breakponint ai, na view eu consigo ver os dados.

Ele faz o foreach, a quantidade de vezes dos dados existentes corretamente, porém me retorna apenas o mesmo repetido. tanto no debug ou na página em si.

0
|
0

Randrade
   - 05 jan 2015

Tentei usando Contains, porém continua a mesma coisa;

#Código

 public ActionResult Dependente()
        {
            var dependentes = dependenteRepository.Lista.Where(x => x.slogin.Contains( autenticacaoProvider.UsuarioAutenticado.Login)).ToList();
            return View(dependentes);
            
        }


Estou usando um IQueryable para retornar os dados. Está correto isto mesmo?

Estou buscando em vários sites, porém não estou conseguindo achar a solução.

0
|
0

Joel Rodrigues
   - 07 jan 2015

A questão é saber se essa lista de dependentes está sendo preenchida corretamente, e o problema está entre esse ponto e a view, ou se essa consulta aí já está retornando os valores duplicados, entende?
Tente colocar, antes do return, algo como Console.Write, ou dar um Quick Watch nessa variável para ver os itens dela.

0
|
0

Randrade
   - 07 jan 2015

Usei o Console Write aqui.

Colocando para imprimir os dados, mostra todos repetidos. Porém coloquei um .Count, e me retornou o valor correto.
Pelo jeito, o problema está no meu método.
Poderia ser eu buscar por Login e não por ID?

0
|
0

Randrade
   - 07 jan 2015

Eu acho que encontrei o problema, mas não a solução!

Eu estou trabalhando com uma view, e nela não possui uma coluna unica( Chave Primária).
Para a utilização do EF, eu tive que colocar a chave primária "CDPESSOA" que é da tabela Usuário como chave primária.

Existe alguma forma de adicionar algum campo autoencremente na view, ou algo do tipo?

0
|
0

Randrade
   - 08 jan 2015

Vou verificar aqui. Assim que concluir, posto a solução.

0
|
0

Randrade
   - 08 jan 2015

Joel, revi aqui, e apenas coloquei o campo e funcionou corretamente.
A unica coisa diferente em meu filtro, é que estou buscando por login, e não por ID, como é de costume.
Mas se alguém tiver o mesmo problema, usei a função ROW_NUMBER e funcionou perfeitamente.

É que essa é a primeira vez que trabalho com um banco de dados já implementado, então estou com um pouco de dificuldades, porém nada que um pouco de pesquisa e ajuda não resolva.

Obrigado pela ajuda Joel.

0
|
0

Joel Rodrigues
   - 08 jan 2015

Opa, que bom que deu certo.
Abraço e bons códigos.

0
|
0