Fórum Seleção de Registros - LINQ #1993

19/01/2009

0

Olá! Gostaria de saber como posso fazer para selecionar os registros de uma tabela que não estão associados a uma tabela ManyToMany utilizando LINQ. Exemplo: Tenha uma tabela de Função e uma tabela de Usuário e uma outra tabela UsuarioFuncao onde registro as funções liberadas para um usuário. Porém gostaria de selecionar todas as funções que NÃO estão associados para um determinado usuário. Uma query para isso seria assim:   select * from Funcao where Funcao.IdFuncao not in (select UsuarioFuncao.IdFuncao from UsuarioFuncao where IdUsuario = 1)   Porém gostaria de ter o mesmo resultados utilizando uma expressão LINQ.   Aguardo uma resposta o mais breve possível.   Abraços   Júlio Nefrodata Sistemas
Nefrodata Ltda

Nefrodata Ltda

Responder

Posts

19/01/2009

Fabio Mans


Olá Júlio vou postar abaixo um exemplo de como utilizar a cláusula NOT IN no Linq, veja se consegue adaptar no seu código.     SELECT *
FROM dbo.Customers AS t0
WHERE t0.CustomerID NOT IN (
    SELECT t1.CustomerID
    FROM dbo.Orders AS t1
)     NorthwindDataContext dc = new NorthwindDataContext();     var query =     from c in dc.Customers     where !(from o in dc.Orders             select o.CustomerID)            .Contains(c.CustomerID)     select c;   ======================================= where ! é o detalhe. =======================================    
Responder

Gostei + 0

19/01/2009

Nefrodata Ltda

Fabio funcionou perfeitamente não conhecia essa clausula where ! acho que vai resolver muito mais problemas do que eu imaginava.   Valeu abraços!   Júlio   OBS: tenho algumas dúvidas relacionadas ao Entity Framework posso posta-la nessa seção??
Responder

Gostei + 0

19/01/2009

Fabio Mans

Você pode perguntar sobre o Entity Framework sim, mas será necessário abrir outro chamado.   Abraços
Responder

Gostei + 0

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

Aceitar