Проблема в том, что вы создаете анонимный тип, используя new { ... }
без особой очевидной причины ... и Sum
не знает, как складывать значения анонимного типа. Попробуйте вместо этого:
lprod_projectionActualvalue = lprod_monthlyReport
.Sum(m => m.Monthly_ActualValue != -1 ? m.Monthly_ActualValue : 0F);
Я немного удивлен, используя обнуляемый тип и магическое значение "не считается" (-1). Обычно вам нужен только один из этих вариантов, но я позволю вам сказать, что это действительно то, что вы хотите:)
(Я бы посоветовал вам взглянуть на .NET именования тоже ... эти подчеркивания не обычные, и мне неясно, что означает lprod
. Просто общие советы.)