而不是firstordefault我用什么来获得所有的价值

时间:2012-03-06 09:12:53

标签: linq

下面是代码,我已经编写了,它只返回第一条记录,因为FirstOrDefault。我的语法应该是将所有电子邮件地址存储在变量EmailAddresses中,其中FlagActive字段为True。

   IList<string> EmailAddresses = new List<String>();
  EmailAddresses.Add(Context.FOCALPOINTs.FirstOrDefault(T => T.FlagActive == true).Email.ToString());
  foreach (string emailAddress in EmailAddresses)
         tempEmail = tempEmail + ";" + emailAddress; 

3 个答案:

答案 0 :(得分:2)

我想你想要这样的东西:

    EmailAddresses = Context.FOCALPOINTs.Where(T => T.FlagActive)
                       .Select(T => T.Email).ToList();

作为一个侧面说明,你在这里的部分:

(T => T.FlagActive == true)

这里的== true是不必要的,因为T.FlagActive已经是一个布尔值。

答案 1 :(得分:1)

你可以直接这样,不需要添加它..

IList<string> EmailAddresses = Context.FOCALPOINTs.Where(T => T.FlagActive).Select(c => c.Email).ToList());      

  foreach (string emailAddress in EmailAddresses) 
         tempEmail = tempEmail + ";" + emailAddress;  

答案 2 :(得分:0)

EmailAddresses.AddRange(Context.FocalPoints.where(T => T.FlagActive ==  true).Email.ToString().ToList());

也许吧?