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:
01649039
Views:
38
>
>        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) ?? 0;
>            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 (decimal)(emWeight  - (decimal) (detailsWeight ?? 0);
>        }
>
>I'm really puzzled by this statement:
>
>          decimal emWeight = context.EMTransactions.Where(r => (r.TransactionHeaders_Id == transactionHeaders_Id)).Sum(r => r.Weight) ?? 0;
>
>
>It won't compile. CS0019 Operator '??' cannot be applied to operands of type 'decimal' and 'int'
>
>But this does :
>
>
>return emWeight  - (decimal) (detailsWeight ?? 0);
>
>
>So is there a way to do is in one line, or do I first need to extract the transactions and check if there are none?

Try using decimal 0 constant. Google on how to set it up correctly, I don't think it's 0.00 as it would be in SQL Server.
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform