Developer
Developer

Reputation: 3057

The cast to value type 'Decimal' failed because the materialized value is null

I am having a problem with this query it's throwing an error.

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

I tried below code from another similar question but that did not solve my problem:

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

Upvotes: 20

Views: 16184

Answers (1)

SLaks
SLaks

Reputation: 887433

You need to cast ori.ExB4Taxes to decimal? inside the query.

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

Upvotes: 35

Related Questions