Question

J'ai deux tables dans un jeu de données XML. T1, T2. Chacune des tables a une colonne ID.

T1 a une liste de clients T2 a une liste de commandes

Je souhaite créer une requête LINQ qui renvoie uniquement l'ID des clients qui n'ont pas de commande. En d'autres termes, les identifiants client n'existant pas dans la table T2.

Oh oui, j'utilise C #

Merci!

Était-ce utile?

La solution

Je pense que cela fonctionnera (merci de l'adapter à vos DataSets):

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

Autres conseils

Cela nécessite une jointure externe et une vérification de null.

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

Vous avez juste besoin de nous une clause where et de tout:

T1.Where( item1 => T2.All( item2 => item1.ID != item2.ID ) );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top