2009-05-11 5 views
3

J'ai deux instances IQueryable - objIQuerableA et objIQueryableB et je veux obtenir des éléments seulement qui sont présents dans objIQuerableA et non objIQuerableB. Un moyen consiste à utiliser une boucle foreach mais je me demande s'il existe une meilleure méthode.Comparez deux instances IQueryable

Répondre

8

Simple et direct.

var result = objIQuerableA.Except(objIQuerableB); 
1

Le titre dit réellement comparer deux IQueryables. Si vous voulez réellement faire une comparaison pour déterminer si les deux IQueryable contiennent les mêmes résultats dans une seule requête ....

var aExceptB = objIQuerableA.Except(objIQuerableB); 
var bExceptA = objIQuerableB.Except(objIQuerableA); 
var symmetricDiff = aExceptB.Union(bExceptA); 
bool areDifferent = symmetricDiff.Any(); 
Questions connexes