我试图将foreach
循环数据集合存储在循环之外以供以后使用。
考虑以下foreach
循环。
IList<DetailViewModel> storeAllLoopItems = new List<DetailViewModel>();
foreach (var item in _listOfItems)
{
var items =
(from a in context.Employee
join b in context.Orders on a.Id equals b.Id
join d in context.Notes on a.Id equals d.Id
where a.Id == item.id
select new DetailViewModel
{
Name = b.LegalName,
Abbrev = c.Abbrev,
TaxAmount = a.Amount,
}).ToList();
storeAllLoopItems.Add(items); //<<<ERROR
}
错误:
最佳重载方法匹配 &#39; System.Collections.Generic.List.Add(DetailViewModel)&#39; 有一些无效的论点
无法转换为&#39; System.Collections.Generic.List&#39; 到&#39; DetailViewModel&#39;
答案 0 :(得分:1)
Add
方法用于添加单个值。您需要手动将项添加到列表中,因为IList
接口没有AddRange
方法。或者将定义更改为具有List<DetailValueModel>
方法的AddRange
。
Aslo,.ToList()
不是必需的并浪费内存。