J'essaie d'effectuer un calcul. J'ai une table de donations (d) qui contient la quantité nécessaire (d.QtyNeeded) et j'ai besoin de déterminer le nombre d'articles encore nécessaires en tirant la quantité remplie (qtyfilled) de la table de donateurs. Tous les dons n'ont pas de donneur, j'ai donc besoin d'une déclaration conditionnelle pour gérer les nulls afin que la somme fonctionne. Lorsque j'essaie de compiler, j'obtiens une erreur: * L'opérateur '-' ne peut pas être appliqué aux opérandes de type 'int' et 'bool'. Je ne suis pas encore très bon à Linq, qu'est-ce qui me manque ou y at-il un meilleur moyen?Calcul de la somme conditionnelle LINQ - ne peut pas être appliqué aux opérandes de type 'int' et 'bool'
QtyOpen = d.QtyNeeded - (from dv in db.Donors
select dv).All(v => v.QtyFilled == null)
? 0
: (from dv in db.Donations
select dv.QtyFilled).Sum()
J'ai essayé et par défaut à 0, même lorsque la requête QtyFilled retourné 2. Je ne peux pas avoir la mise en œuvre correcte . Merci. QtyOpen = d.QtyNeeded - (true? 0: (à partir de dv dans db.DonationVolunteerEntities où dv.DonationID == d.DonationID sélectionnez dv) .All (v => v.QtyFilled == null) ? 0 : (à partir de dv dans db.DonationVolunteerEntities sélectionnez dv.QtyFilled) .Sum()), – scottrakes
J'ai vu ce que je faisais mal. Votre solution était parfaite. Merci. – scottrakes