Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Coalescence blues
Message
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
C# 5.0
OS:
Windows 8.1
Network:
Windows Server 2012 R2
Database:
MS SQL Server
Application:
Desktop
Miscellaneous
Thread ID:
01649038
Message ID:
01649079
Views:
32
Ah. I was thinking that Weight itself was nullable. Try this:
var q  = context.EMTransactions.Where(r => r.TransactionHeaders_Id == transactionHeaders_Id).Sum(r => (decimal?) r.Weight);
// or, if you don't want q to be nullable:
var q  = context.EMTransactions.Where(r => r.TransactionHeaders_Id == transactionHeaders_Id).Sum(r => (decimal?) r.Weight) ?? 0;
>Hi Viv.
>
>>If you want null results to be treated as 0 then you could just use : Sum(r=>r.Weight ?? 0)
>
>Doesn't compile either.
>
>This on the other hand does work. Interestingly q does not return null if there no transactions in EM. So why won't it sum()?
>
>
>        public static decimal ComputeWeightDifference(int transactionHeaders_Id,PICSEntities context)
>        {
>            decimal emWeight = 0;
>            var q = context.EMTransactions.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id));
>            if ((q.Count() == 0) == false) { emWeight = q.Sum(r => r.Weight); }
>            decimal detailsWeight = context.TransactionDetails.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id)).Sum(r => r.Weight);
>            return emWeight   - detailsWeight;
>        }
>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform