2010-01-12 208 views
0

,想知道如果我可以有條件地從表中的4個不同的領域,這是標誌爲1串,每個記錄串聯LINQ查詢結果,以便它會是這樣的:LINQ查詢結果級聯

  dbContext.CONTACT_LOGs.Select(e => new 
      (e => new ContactLog 
      { 
       rec1 = e.Recommend1 ? "1 is recommended" : String.Empty, 
       rec2 = e.Recommend2 ? "2 is recommended" : String.Empty, 
       rec3 = e.Recommend3? "3 is recommended" : String.Empty, 
       rec4 = e.Recommend4 ? "4 is recommended" : String.Empty 
       //this doesn't work in a single query 
       ContactSummary = String.Concat(rec1, rec2, rec3, rec4) 
      }); 


      public class ContactLog 
      { 
      public string rec1 { get; set; } 
      public string rec2 { get; set; } 
      public string rec3 { get; set; } 
      public string rec4 { get; set; } 
      public string ContactSummary { get; set; } 


    } 

是有沒有辦法以這種方式做到這一點?由於

+0

你能更清楚一點還是提供一個例子? – 2010-01-12 23:46:30

+0

這裏你去,謝謝 – VictorS 2010-01-12 23:51:11

+0

是否有一個原因,你不能只是添加一個新的屬性到'ContactLog'並進行連接而不是Linq查詢? – 2010-01-12 23:52:15

回答

1

我不知道如果我理解你的問題,但我想補充一個新的屬性,你ContactLog類,如下所示:

public class ContactLog { 
    public string rec1 { get; set; } 
    public string rec2 { get; set; } 
    public string rec3 { get; set; } 
    public string rec4 { get; set; } 
    public string ContactComments { get; set; } 
    public string ContactLog { 
     get { 
     return String.Concat(rec1, rec2, rec3, rec4); 
     } 
    } 
} 

無需負擔LINQ查詢與

+0

這似乎是我所需要的,但唯一的問題,正如你可以從上面的代碼片斷看到的,有時它們可​​以是空的,在那種情況下,我想將它們排除在串聯之外,但如果所有標誌都爲真,則需要在該摘要字符串中獲得「1,2,3,4推薦」 – VictorS 2010-01-13 00:01:16