2014-04-29 2 views
0
내가 LINQ 쿼리에서 양을 나열 할

에 double 값을 반환하는 방법을는 목록

내 코드는 같은

public List<OrderMaster> GetAmountByOrder(int orderId) 
    { 
     var amount = from om in _db.OrderMa 
        join od in _db.Order on om.OrderId equals od.OrderId 
        where om.OrderId == od.OrderId && om.PaymentStatus == false 
        select om.Amount; 

     return amount.ToList(); 
    } 


amount.ToList(); error is showing. 

cannot implicitly convert type double to list.....입니다 ... 어떻게 해결하는 방법 이 문제?

답변

3

List<OrderMaster>을 반환하도록 메서드를 선언했지만 List<double>을 반환합니다. 또한,이 조인은 이미 OrderIds과 동일하므로 어디에서 그것을 반복 할 필요가 없습니다. 메서드의 매개 변수에서 orderId이어야하므로 버그라고 생각합니다. 또한 모든 금액 또는 합계를 나열 하시겠습니까? 합계가 ToList 대신 Sum을 사용하면 double 만 반환됩니다.

public List<double> GetAmountByOrder(int orderId) 
{ 
    var amount = from om in _db.OrderMa 
       join od in _db.Order on om.OrderId equals od.OrderId 
       where om.OderId = orderId && om.PaymentStatus == false 
       select om.Amount; 

    return amount.ToList(); 
} 
+0

다시는 보여주고있다 – PoliDev

+0

이 널 사이에 차이가 @PoliDev'암시 System.Collections.Generic.List '에 System.Collections.Generic.List '형식을 변환 할 수 없습니다 '와 같은 오류 double (double?) 및 normal double. null 가능 유형에 대해 읽어보십시오. http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx – Euphoric

0
public List<OrderMaster> GetAmountByOrder(int orderId) 
{ 
    var omCollection = from om in _db.OrderMa 
       join od in _db.Order on om.OrderId equals od.OrderId 
       where om.OrderId == od.OrderId && om.PaymentStatus == false 
       select om; 

    return omCollection.ToList(); 
}