在存储库中,如何将double值返回到列表中

时间:2014-04-29 05:39:08

标签: c# linq

我想列出linq查询中的金额

我的代码是

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. 
那样的{p> cannot implicitly convert type double to list..... ...... 如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您正在声明返回List<OrderMaster>的方法,但您正在返回List<double>。此外,连接已经等同于OrderIds,无需在其中重复。我认为这是一个错误,因为它应该是方法参数的orderId。此外,您想要列出金额或所有内容的总和吗?如果总和则使用Sum而不是ToList,只返回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();
}

答案 1 :(得分: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();
}