将LINQS查询的结果附加到分页列表

时间:2014-08-07 19:12:18

标签: c# linq

我确定一个简单的修复程序,但我似乎无法找到解决我遇到的问题的方法。这个想法是它会遍历"扩展"并找到他们所有的结果,我需要在结尾追加结果,但我尝试的一切似乎都没有效果。任何想法都将不胜感激。

string s = cdr.callingPartyNumber;
string[] exts = s.Trim().Split(',');
foreach (string ext in exts)
{

    var calls = db.CallDetails.Where(x => x.dateTimeConnect >= cdr.dateTimeConnect && x.dateTimeDisconnect <= cdr.dateTimeDisconnect && x.callingPartyNumber.Contains(ext)).Select(x =>
        new CallDetailDTO
        {
            origSpan = x.origSpan,
            callingPartyNumber = x.callingPartyNumber,
            callingPartyUnicodeLoginUserID = x.callingPartyUnicodeLoginUserID,
            originalCalledPartyNumber = x.originalCalledPartyNumber,
            dateTimeConnect = x.dateTimeConnect,
            duration = x.duration
        })
        .ToList();


    cdr.TotalResults = cdr.TotalResults + calls.Count;
    cdr.Calls = calls.ToPagedList(cdr.Page, pageSize);
}

1 个答案:

答案 0 :(得分:0)

您只看到最后一个calls的原因是因为您在每次迭代中都会覆盖cdr.Calls

cdr.Calls = calls.ToPagedList(cdr.Page, pageSize);

我假设cdr.Calls是某种List<CallDetailDTO>

您需要做的是将其设为List<List<CallDetailDTO>>,并为List.Add ext使用cdr.Calls.Add(calls.ToPagedList(cdr.Page, pageSize));

{{1}}