2013-08-26 68 views
-3

我有這個查詢,一切工作正常,除了Count,它返回lstISSHDR中的所有記錄的計數。我想COUNT返回字段4的計數lstISSHDR其中lstrej.issuergroupseq = lstisshdr.issuergroupseqLinq集團和計數

var tmpRejSTM = (from r in lstRej 
join l in lstISSHDR on r.IssuerGroupSequence equals l.IssuerGroupSequence 
join s in lstSECHDR on r.SecurityGroupSequence equals s.SecurityGroupSequence 
where r.Field1 == "INVHDR" && !string.IsNullOrEmpty(l.Field4) 
select new { IssuerCode = r.Field4, IssuerName = l.Field6, 
SecurityCode = s.Field4, CountofIssuerCode = l.Field4.Count() }) 
.GroupBy(x => new { x.IssuerCode, x.IssuerName, x.SecurityCode, 
x.CountofIssuerCode }) 
.OrderBy(x => x.Key.IssuerCode).ThenBy(x => x.Key.CountofIssuerCode).ToList();  
+0

和你的目標是什麼? – Jonesopolis

+0

我想你忘了提問或解釋你需要什麼。 –

+0

抱歉,正如我所說的每個想法都能正常工作,但我需要從lstISSHDR的所有記錄的計數,其中lstRej.IssuerGroupSequence等於lstISSHDR.IssuerGroupSequence –

回答

0

我應該只需要更改此:

CountofIssuerCode = l.Field4.Count() 

到:

CountofIssuerCode = lstISSHDR.Where(x=>x.IssuerGroupSequence == l.IssuerGroupSequence).Select(x=>x.Field4).Count()