При использовании LINQ для получения данных из списка я сталкиваюсь с этой ошибкой. Как это можно зафиксировать?
Значение не может быть нулевым. Имя параметра: источник
var nCounts = from sale in sal
select new
{
SaleID = sale.OrderID,
LineItem = from sli in sale.LineItems
group sli by sli.Item into ItemGroup
select new
{
Item = ItemGroup.Key,
Weeks = ItemGroup.Select(s => s.Week)
}
};
foreach (var item in nCounts)
{
foreach (var itmss in item.LineItem)
{
// MessageBox.Show(itmss.Item.Name);
itemsal.Add(new Roundsman.BAL.WeeklyStockList(itmss.Item.Name.ToString(),
itmss.Item.Code.ToString(),
itmss.Item.Description.ToString(),
Convert.ToInt32(itmss.Item.Quantity), 2, 2, 2, 2, 2, 2, 2, 2, 2));
}
}
Ошибка, которую я получил после выполнения моего LINQ Я получил такой результат (одна строка, оригинально):
System.Linq.Enumerable.WhereSelectListIterator < Roundsman.BAL.Sale, < > f__AnonymousType1 < INT, System.Collections.Generic.IEnumerable < < > f__AnonymousType0 < Roundsman.BAL.Items.Item, System.Collections.Generic.IEnumerable < Roundsman.BAL.WeeklyRecord → → >