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

本文关键字:返回 列表 存储 | 更新日期: 2023-09-27 18:00:44

我想从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. 

cannot implicitly convert type double to list.....就是这样。。。如何解决这个问题?

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

您正在声明您的方法返回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();
}
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();
}