Для следующего кода
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 };
Если запись существует, я хочу получить имя и вернуть его. Как я могу получить firstName из var validate?
validate здесь будет набор (IQueryable<T>) данных. Возможно, вам придется использовать FirstOrDefault(), например:
validate
IQueryable<T>
FirstOrDefault()
var record = validate.FirstOrDefault(); if(record != null) { string firstName = record.FirstName; }
Console.WriteLine(validate.FirstOrDefault().FirstName);
В противном случае вам придется циклически перебирать множество, поскольку то, что возвращает ваш запрос, вероятно, набор из одного, но это все еще набор.
Попробуйте следующее:
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; ... }