La conversion vers le type de la valeur 'Virgule' a échoué parce que la matérialisée valeur est null

Je vais avoir un problème avec cette requête, c'est de lancer une erreur.

var TotalToDatePayable = (  from ori in db.GetAll<WMPORI>()
                           where ori.CTMSysID == ctmSysId
                          select ori.ExB4Taxes).Sum();

J'ai essayé le code ci-dessous à partir de une autre question similaire mais cela ne résout pas mon problème:

 var TotalToDatePayable = (Decimal?)(  from ori in db.GetAll<WMPORI>()
                                      where ori.CTMSysID == ctmSysId
                                     select ori.ExB4Taxes).Sum()) ?? 0;
C'est de travail: var TotalToDatePayable = (à partir de ori en db.GetAll<WMPORI>() où ori.CTMSysID == ctmSysId sélectionnez ori.ExB4Taxes).DefaultIfEmpty(0).Sum();
Je pensais que le type de l'indentation a été exclusif pour Objectif C. Maintenant, je suis triste.
9: ce type de retrait est typique dans SQL (qui Linq émule dans la question). C'est la raison pour moi d'ajouter des espaces.

OriginalL'auteur Developer | 2012-05-30