2010-06-25 5 views
0

i essayer d'utiliser la somme et Coalesce Comment puis-je traduire par LINQComment puis-je utiliser "COALESCE (SUM ..." dans LINQ

SELECT @SumQtyOut=COALESCE(SUM(Qty),0) FROM dbo.StockMovement WHERE [email protected] AND 
     * [email protected] AND [email protected] AND [email protected] AND [email protected]

je fais sometihng:

using (StockProcedureDataContext stock = new StockProcedureDataContext()) 
       { 
        SumQtyOut = from s in stock.StockMovements 
           where s.FromLocationType == FromLocationType && 
           s.FromNo== FromNo && 
           s.FromSeq == FromSeq && 
           s.ItemTypeNo == ItemTypeNo && 
           s.ItemID == ItemID select 
       }

Répondre

0

Cet extrait doit donner le résultat que vous recherchez.

using (StockProcedureDataContext stock = new StockProcedureDataContext()) 
{ 
    var items = from s in stock.StockMovements 
       where s.FromLocationType == FromLocationType && 
       s.FromNo== FromNo && 
       s.FromSeq == FromSeq && 
       s.ItemTypeNo == ItemTypeNo && 
       s.ItemID == ItemID 
       select s.Qty ?? 0; 
    SumQtyOut = items.Sum(x => x); 
} 

select s.Qty ?? 0 retourne 0 si s.Qty est null. items.Sum(x => x) résume les quantités que vous avez sélectionnées.