Come da titolo, ecco come è possibile tradurre il "Not in" di SQL nella corrispondente sintassi Linq.
Prendiamo come esempio uno scenario in cui abbiamo due tabelle, "Clienti" e "Ordini" dove nella tabella Ordini è presente come chiave esterna l'id del cliente.
 
Se volessimo tirare fuori la lista dei clienti che non hanno ancora effettuato ordini la sintassi sarebbe la seguente:
var result = from cl in dc.Clienti
             where !(from ord in dc.Ordini
                     select ord.IdCliente)    
                     .Contains(cl.ID)    
             select cl;

Spero che vi torni utile.

comments powered by Disqus