2011-03-22 1 views
1

Salut j'obtiens cette erreur. L'expression de type 'System.Collections.Generic.IEnumerable`1 [System.String]' est pas une séquence.Subsonic/Linq Pas une erreur de séquence ce que cela signifie

ceci est mon code

_session.All<Sentence>() 
     .Select(T => new { Sentence = T, Descriptions = T.Sentence.Split(' ') }) 
     .Where(S => S.Descriptions .Intersect(words).Any()) 
     .Select(R => R.Sentence) 
     .Distinct(); 

words est une liste de chaînes.

ce qui ne signifie pas une séquence et comment puis-je résoudre ce problème.

Répondre

1

EDIT: D'accord, maintenant que la question a été corrigé ...

Je suspect c'est une restriction subsonique. Vous pouvez essayer à la place:

.Where(S => S.Descriptions.Any(x => words.Contains(x))) 
+0

Salut désolé, c'était une erreur de frappe. Je l'ai comme .Lorsque (S => S.Descriptions.Intersect (mots) .Tout()) dans mon code, mais il semble que j'ai posté le mauvais code. – David

+0

@ user351709: Si vous supprimez la ligne 'WHERE', ça marche (sauf qu'il vous donne de toute évidence trop de résultats)? Je pense que c'est juste une restriction subsonique ... –

Questions connexes