У меня есть следующий код для извлечения имени клиента, всего (заказов), суммы (данных заказа) для клиента в базе данных Northwind. Проблема с приведенным ниже кодом заключается в том, что он вызывает исключение, поскольку некоторые клиенты не имеют записи в таблице заказов.Обработка исключений в Linq to SQL для клиентов без заказов
Я знаю, используя синтаксис запроса (join) исключение можно избежать. Я хочу знать, может ли это быть обработано синтаксисом метода расширения.
var customerOrders = db.Customers
.Select(c => new
{
CompanyName = c.CompanyName,
TotalOrders = c.Orders.Count(),
TotalQuantity = c.Orders
.SelectMany(o => o.Order_Details).Sum(o=>o.Quantity)
});
Не должно быть нулевых ссылок, потому что запрос будет переведен в инструкцию SQL. И не должно быть никаких проблем с TotalQuantity. Сначала тип выводится так или иначе, а вторая сумма по пустой последовательности равна нулю. –