2009-06-15 9 views
2

Pour le code suivantObtenir de la valeur VAR

var validate = from P in this.DataContext.Persons 
         where P.UserName.Equals(login) && P.Password.Equals(password) 
         select new 
         { 
          P.FirstName, 
          P.LastName, 
          P.EmailAddress 
         }; 

Si enregistrement existe je veux obtenir le prénom et le retourner. Comment puis-je obtenir le firstName de var valider?

Répondre

4

validate (IQueryable<T>) de données. Vous devrez peut-être utiliser FirstOrDefault(), par exemple:

var record = validate.FirstOrDefault(); 
if(record != null) { 
    string firstName = record.FirstName; 
} 
1
Console.WriteLine(validate.FirstOrDefault().FirstName); 

Sinon, vous aurez à boucle à travers l'ensemble depuis ce que votre requête retourne probablement un ensemble d'un, mais il est encore un ensemble.

+2

qui pourrait aller très mal dans le cas (très probable) qu'il n'y a pas de match ... –

0

les opérations suivantes:

var validate = (from P in this.DataContext.Persons 
       where P.UserName.Equals(login) && P.Password.Equals(password) 
       select new 
       { 
        P.FirstName, 
        P.LastName, 
        P.EmailAddress 
       }).FirstOrDefault(); 

if (validate != null) 
{ 
    var firstName = validate.FirstName; 
    ... 
} 
Questions connexes