La syntaxe de requête linq pour List<string>
Je suis en train de faire quelque chose comme ça...
public static List<string> GetAttachmentKeyList()
{
DataClassesDataContext dc = new DataClassesDataContext();
List<string> list = from a in dc.Attachments
select a.Att_Key.ToString().ToList();
return list;
}
Visual Studio, c'est dire...
Impossible de convertir implicitement le type de Système.Linq.IQueryable>' pour 'Système.Les Collections.Génériques.Liste".
Une conversion explicite existe (vous manque un plâtre?)
Quelle est la bonne syntaxe???
OriginalL'auteur MalamuteMan | 2011-09-20
Vous devez vous connecter pour publier un commentaire.
Donner à ceci un essai
.ToList()
a été appelée sur la chaîne de caractères retournée parToString()
, de sorte que l'expression linq évalué à quelque chose -IEnumerable<List<char>>
, pasList<string>
MERCI Brian & Praveen pour votre utile et incroyablement RAPIDES réponses!!!! Qui a fait le tour.
C'est le plus simple correction du code dans la question; toutefois Pedro de la réponse est plus succinct.
OriginalL'auteur Brian Dishaw
essayer cela,
Si il ya une meilleure façon de le faire, serait intéressé à en apprendre sur elle.
C'est clairement la meilleure réponse et doit être accepté de répondre.
OriginalL'auteur Pedro Maia Costa
Je suppose que ce serait quelque chose comme ci-dessous.
Espérons que cette aide!!
ToList<string>()
est redondante. JusteToList()
le ferait..Pouvons-nous le faire sans l'Ensemble Paranthesis
(from...).ToList()
ces parenthèses sont nécessaires, à savoir ce que
ToList
est appliquée à la suite de toute expression. Notez que dans la question d'origine, le code a été tentée, mais ces parenthèses manquantes. Cela s'appliqueToList
à une seule chaîne, à l'intérieur de laselect
clause. OU voir Pedro de la réponse, pour une solution plus simple.OriginalL'auteur Praveen