Я пытаюсь получить данные из 3 разных таблиц. Я хочу подсчитать общие покупки и продажи в каждом магазине. В настоящее время в моей таблице заказов есть 0 записей для некоторых магазинов. Я получаю эту ошибку. '
System.InvalidOperationException:' Обнуляемый объект должен иметь значение. '
`
var stats = context.Stores.Select(s => new StoreStats()
{
//StoreID = s.store_id,
//StoreName = s.StoreName + s.Ref_No,
//RefNo = s.Ref_No,
//MonthPurchasing = s.Purchasing != null ? s.Purchasing.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Sum(x => x.Amount) : 0,
//MonthPurchasingCount = s.Purchasing != null ? s.Purchasing.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Count() : 0,
//AverageMonthlyPurchasing = s.Purchasing != null ? s.Purchasing.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Count() / 30 : 0,
//MonthSales = s.Order != null ? s.Order.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Sum(x => x.Amount) : 0,
//MonthSalesCount = s.Purchasing != null ? s.Purchasing.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Count() : 0,
//AverageMonthlySale = s.Order != null ? s.Order.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Count() / 30 : 0,
//MonthlyProfit = (s.Purchasing != null ? s.Purchasing.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Sum(x => x.Amount) : 0) - (s.Order != null ? s.Order.Where(x => (x.Date - DateTime.Now).TotalDays <= 30).Sum(x => x.Amount) : 0),
TotalPurchasing = s.Purchasing != null ? s.Purchasing.Sum(x => x.Amount) : 0,
TotalSales = s.Order != null ? s.Order.Sum(x => x.Amount) : 0,
TotalProfit = s.Purchasing != null ? s.Purchasing.Sum(x => x.Amount) - s.Order.Sum(x => x.Amount) : 0,
//CompletedOrders = s.Order != null ? s.Order.Where(x => x.status == Model.Order.Status.Completed).Count() : 0,
//PendingOrders = s.Order != null ? s.Order.Where(x => x.status == Model.Order.Status.Pending).Count() : 0,
//TotalEmployees = s.Employees != null ? userManager.Users.Where(x => x.store_id != null && x.store_id == s.store_id).Count() : 0,
//TotalBrands = s.Stock != null ? s.Stock.Where(x => x.store_id == s.store_id).Count() : 0,
}).ToList();
d.Stores = stats;
Изменить : после аппаратной отладки обнаружено, что строка без комментариев выдает это исключение