将LINQS查询的结果追加到分页列表
本文关键字:分页 列表 追加 结果 LINQS 查询 | 更新日期: 2023-09-27 18:17:04
我确信一个简单的修复,但我似乎找不到一个修复我所遇到的问题。这个想法是,它会循环通过"扩展",并找到所有的结果,我需要在最后附加结果,但我所尝试的一切似乎都不起作用。如有任何意见,不胜感激。
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);
}
您只看到最后一个calls
的原因是您在每次迭代中不断重写cdr.Calls
:
cdr.Calls = calls.ToPagedList(cdr.Page, pageSize);
我假设cdr.Calls
是某种List<CallDetailDTO>
。
你需要做的是使它成为List<List<CallDetailDTO>>
,并为每个ext
使用List.Add
:
cdr.Calls.Add(calls.ToPagedList(cdr.Page, pageSize));