2010-06-25 101 views
0

我嘗試使用和與凝聚我怎麼能轉化爲LINQ我怎麼能在LINQ使用 「COALESCE(SUM ......」

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

我做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 
       }

回答

0

該段應得到你正在尋找的結果。

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返回0,如果s.Qtynullitems.Sum(x => x)總結您選擇的數量。