DISTINCT EM QUERY LINQ

 Tópico anterior Próximo tópico Novo tópico

DISTINCT EM QUERY LINQ

C#

 Compartilhe  Compartilhe  Compartilhe
#483868 - 13/08/2018 11:00:48

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Bom dia, galera!!!
Estou precisando fazer o seguinte:
Tenho uma query onde usei o seguinte Linq:

                var filtro = from estoque in db.Estoque
                             join produto in db.Produto on estoque.ProdutoId equals produto.Id
                             join tipooperacao in db.TipoOperacao on estoque.SiglaTipoOperacao equals tipooperacao.Sigla

                             select new
                             {
                                 data = estoque.Data,
                                 codigoproduto = estoque.CodigoProduto,
                                 descricao = produto.Descricao,
                                 quantidade = estoque.Quantidade,
                                 sigla = tipooperacao.Sigla,
                                 descricaotipooperacao = tipooperacao.Descricao,
                                 estoqueatual = produto.EstoqueAtual
                             };


Resultado disso:


Agora preciso incrementar essa consulta, de modo que o usuário vai clicar em uma opção de mostrar somente o estoque atual.
Está mostrando assim:


Para isso preciso fazer um Distinct nesta List() para que não se repitam os produtos com código igual.
Alguém pode me dar uma solução?


____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




Resposta escolhida #483869 - 13/08/2018 12:26:01

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
o Group By não resolveria ?




#483870 - 13/08/2018 12:29:26

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Não consegui usar. Dá uma pista.

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483871 - 13/08/2018 12:32:50

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
#483872 - 13/08/2018 14:01:13

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Vou testar, obrigado

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483890 - 13/08/2018 18:41:01

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em 13/08/2018 18:45:09 por FOXMAN

Percifilho, entendo que vc esteje tentando utilizar uma tecnologia para aprimorar seu sistema. Porém vc não acha que deveria explorar o banco de dados e trazer essas consultas prontinhas ???
Sem contar que vc pode fazer alterações no banco de dados sem afetar seu sistema......
Se vc utilizar FUNCTIONS ou STORED PROCEDURES, vc pode brincar e rolar com o banco de dados....
Pense que BANCO DE DADOS é um motor, e seu sistema utiliza talvez menos de 1% da capacidade dele.

Só para vc ter uma idéia eu crio classe para meu sistema com base em uma tabela. Isso tudo diretamente no banco de dados.
Veja exemplo(que inclusive vou postar aqui no vbmania)

Segue Link : Criando Classe c# de tabelas MYSQL


Grupo DotNet.Br no FaceBook



#483910 - 14/08/2018 11:29:47

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Valeu FoxMan, confesso que não entendo nada de STORED PROCEDURES, nunca utilizei, mas vou estudar à respeito, se é uma boa prática, então tudo é válido.
Obrigado pela dica.

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483913 - 14/08/2018 12:22:35

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
No caso, o objeto mais apropriado para o que você quer não seria uma Function ou Stored Procedure, mas sim uma View.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#483944 - 15/08/2018 09:04:56

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Última edição em 15/08/2018 09:05:15 por PERCIFILHO

Bom, vou resolver de outra forma, porque na verdade ficará mais rápida a consulta.
Já que o campo EstoqueAtual está na tabela Produto e NÃO na tabela Estoque, então farei uma consulta na tabela Produto e trarei os resultados.
Acho que é o mais correto. É só fazer uma outra consulta e não utilizar a mesma.
Mesmo assim obrigado pelas respostas, mas vou estudar mais sobre Stored Procedures prá ver se entendo melhor.


____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483947 - 15/08/2018 09:44:50

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
Citação:
:
No caso, o objeto mais apropriado para o que você quer não seria uma Function ou Stored Procedure, mas sim uma View.


Aproveitando o gancho, existe alguma forma de criar uma View via EF sem usar T-SQL ou qualquer forma de string ?



#483952 - 15/08/2018 10:38:25

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Infelizmente não. Para Views, o EF é meio restritivo na parte da criação e manutenção. Você vai precisar modificar a migration manualmente.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PERCIFILHO em 16/08/2018 07:37:59