Search code examples
c#linqsql-to-linq-conversion

How to convert SQL to Linq with SUM calculation


Can someone help me convert a SQL to Linq? I'm new to Linq and could use some help....

My SQL query string is;

SELECT *, Sum(RequisitionQTY*RequisitionPrice) as Total 
FROM partrequisition 
WHERE ReferenceNumber = searchModel.ReferenceNumber 
GROUP BY 'ReferenceNumber'

what I have gotten so far is

var result = db.partrequisition
    .Where(c => c.ReferenceNumber == searchModel.ReferenceNumber)
    .GroupBy(c => c.ReferenceNumber)
    .Select( <??> );

Not understanding how to do the calculation and build that into the Linq..

Thank you...


Solution

  • Like this? The result will be a list of sum for each reference numberger

    var result = db.partrequisition
        .Where(c => c.ReferenceNumber == searchModel.ReferenceNumber)
        .GroupBy(c => c.ReferenceNumber)
        // For each group, calculate the sum
        .Select(g=> g.Sum( item=>item.RequisitionQTY*item.RequisitionPrice ))
        .ToList();