Quantcast
Channel: ADO.NET, Entity Framework, LINQ to SQL, NHibernate
Viewing all articles
Browse latest Browse all 1698

Sum and Case to linq

$
0
0

Need help to convert sql to linq in c#

SELECT    SUM(CASE WHEN Evaluation.StatusId = 3 THEN 1 END)AS EvalutionOK,
        SUM(CASE WHEN Evaluation.StatusId = 4 THEN 1 END) AS EvalutionTodo, 
        SUM(CASE WHEN Evaluation.StatusId = 2 THEN 1 END) AS EvalutionNOk
FROM Investor   
INNER JOIN Evaluation ON Evaluation.InvestorId = [dbo].[Investor].Id    

Sql Result :

EvalutionOK    EvalutionTodo    EvalutionNOk
5                       NULL                  NULL


List<Investor> Investors = ObjectSet.Include(z =>z.Evaluation).ToList();

var test = from i in Investors 
                       select new TestModel
            { 
                EvalutionTodo = i.Evaluation.Sum(e => e.StatusId == 3? 1 : 0),
                EvalutionOK = i.Evaluation.Sum(e => e.StatusId == 4? 1 : 0),
                EvalutionNOk = i.Evaluation.Sum(e => e.StatusId == 2? 1 : 0),
 };

C# result :

Result list  of TestModel

EvalutionOK    EvalutionTodo    EvalutionNOk
1                       0                          0

1                       0                          0

1                       0                          0

1                       0                          0

1                       0                          0

What i am missing? Any help ? How to get sum in sigle liek sql resut ? 

Thanks


Viewing all articles
Browse latest Browse all 1698

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>