public static decimal ComputeWeightDifference(int transactionHeaders_Id,PICSEntities context) { decimal? emWeight = (decimal)context.EMTransactions.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id)).Sum(r => r.Weight); decimal? detailsWeight = 0; // emWeight = (decimal?) context.EMTransactions.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id)).Sum(r => r.Weight) ?? 0; detailsWeight = context.TransactionDetails.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id)).Sum(r => r.Weight); return emWeight ?? 0 - detailsWeight ?? 0; }I guess in a "if-you-can't-beat'm-join'm" frame of mind I will split it into the query and the summing. So much for the functional programming fans. :)