2009-11-17 6 views
2

J'ai une simple instruction linq qui ne rend pas tout à fait ce que je voudrais. Je comprends pourquoi, je ne sais pas comment l'écrire pour obtenir ce que je veux. La requête est la suivante:Linq - Comment transformer IQueryable <IEnumerable> en IQueryable

answers = from a in ents.tblCalls 
          where a.tblSessions.tblUsers.UserID == UserID.Value 
          && (a.StartTime >= startdate.Value && a.StartTime <= enddate.Value) 
          select a.tblAnswers.Where(p => p.tblAnswerTypes.AnswerType == 
           "Yes" && p.tblQuestions.tblQuestionTypes.QuestionType == "Sell In"); 

Cela me donne un type de retour de IQueryable < IEnumerable < tblAnswers >>, alors que tout ce que je veux vraiment est le IQueryable < tblAnswers> pour que je puisse travailler avec eux plus tard facilement .

Merci les gars!

Répondre

1
public IQueryable<tblAnswers> ConcatenateResult 
     (IQueryable<IEnumerable<tblAnswers>> answers) 

    newAnswers = List<tblAnswers>(); 
    for (i = 0, i < answers.Count() , i++) 
    { 
     newAnswers.AddRange(answers[i]) 
    } 

    return newAnswers.AsQueryable() 
} 

Bonté,

Dan

+0

Je ne sais pas où insérer cela. QQueryable QAnswers; QAnswers = answers.AsQueryable() renvoie une erreur - ne peut pas convertir IQueryable > en IQueryable Sergio

+0

Relisez votre question et avez édité la réponse ... bonne chance –

+0

merci mon bonhomme – Sergio

Questions connexes