从VAR获得价值

时间:2009-06-15 11:45:58

标签: c# linq linq-to-sql

以下代码

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
                         };

如果记录存在,我想获得名字并将其返回。如何从var validate中获取firstName?

3 个答案:

答案 0 :(得分:4)

validate这里将是 set IQueryable<T>)数据。您可能需要使用FirstOrDefault(),例如:

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

答案 1 :(得分:1)

Console.WriteLine(validate.FirstOrDefault().FirstName);

否则你将不得不遍历集合,因为你的查询返回的内容可能只是一组,但它仍然是一组。

答案 2 :(得分:0)

尝试以下方法:

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;
  ...
}