Seleção de Registros - LINQ
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
Curtidas 0
Respostas
Fabio Mans
19/01/2009
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. =======================================
GOSTEI 0
Nefrodata Ltda
19/01/2009
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??
GOSTEI 0
Fabio Mans
19/01/2009
Você pode perguntar sobre o Entity Framework sim, mas será necessário abrir outro chamado.
Abraços
GOSTEI 0