2010-01-12 177 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