2012-03-06 102 views
2

下面是代碼,IHAVE書面和它只是返回因爲FirstOrDefault的只有第一個記錄。應該使用我的語法來獲取存儲在變量EmailAddresses中的所有電子郵件地址,其中FlagActive字段爲True。代替firstordefault我應該使用什麼來獲取所有的值

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; 

回答

2

我想你想是這樣的:

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

由於輕微側面說明,部分你在這裏:這裏是

(T => T.FlagActive == true) 

的==真不必要,因爲T.FlagActive已經是一個布爾值。

+0

謝謝你。那工作。 – sansid 2012-03-06 09:19:37

+0

不用擔心。如果你點擊側面的「嘀嗒」,它會標記爲已回答。 – Paddy 2012-03-06 09:20:37

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

也許吧?

1

您可以直接走這條路,沒有必要添加它..

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

    foreach (string emailAddress in EmailAddresses) 
     tempEmail = tempEmail + ";" + emailAddress; 
相關問題