J'ai le code suivant pour récupérer le nom du client, le total (commandes), la somme (détails de la commande) pour atteindre le client dans la base de données Northwind. Le problème avec le code ci-dessous est qu'il soulève une exception puisque quelques clients n'ont aucune entrée dans la table des commandes.Gestion des exceptions dans Linq to SQL pour les clients sans commandes
Je sais qu'en utilisant la syntaxe de requête (join) l'exception peut être évitée. Je veux savoir si la même chose peut être traitée avec la syntaxe de la méthode d'extension.
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)
});
Il ne devrait pas y avoir de références nulles car la requête sera traduite en une instruction SQL. Et il ne devrait pas y avoir de problème avec TotalQuantity. Au début, le type est déduit de toute façon et la seconde sur une séquence vide est juste zéro. –