2009-07-02 7 views
1

Je pensais que IQueryable <T> a été dérivé de IEnumerable <T>, alors pourquoi ne puis-je pas accéder aux résultats de ma requête comme une collection d'enregistrements?Qu'est-ce que je fais de mal avec IQueryable <T>?

public bool DoLogIn(System.String strUserName, System.String strPassword) 
{ 
    if (this.IsLoggedIn) 
     return false; 

    ASRDBDataContext ASRData = new ASRDBDataContext(); 
    IQueryable<user> CurrUser = 
     from usr in ASRData.users 
     where usr.userName == strUserName 
     where usr.password == strPassword 
     select usr; 

    if (CurrUser.Count() != 1) 
     return false; 

    this.CurrUserID = CurrUser[0].userID; // Error 
    return true; 
} 

L'erreur renvoyée est: "Impossible d'appliquer l'indexation avec [] à une expression de type 'System.Linq.IQueryable <user>'"

Répondre

Questions connexes