Domanda

Ho due tabelle in un set di dati XML. T1, T2. Ognuna delle tabelle ha una colonna ID.

T1 ha un elenco di clienti T2 ha un elenco di ordini

Voglio creare una query LINQ che restituisca solo l'ID dei clienti che non hanno ordini. In altre parole, gli ID cliente che non esistono nella tabella T2.

Oh sì, sto usando C #

Grazie!

È stato utile?

Soluzione

Penso che funzionerà (per favore adattati ai tuoi DataSet):

var query = from c in T1
            where !(from o in T2 select o.CustomerID)
            .Contains(c.CustomerID)
            select c;

Altri suggerimenti

Ciò richiede un join esterno e un controllo su null.

var result = from c in Customers
             join d in Details on d.CustomerID equals c.ID into g
             where !g.Any()
             select c;

Hai solo bisogno di noi una clausola where e tutto:

T1.Where( item1 => T2.All( item2 => item1.ID != item2.ID ) );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top