Sql 方法,如果ID相同,则将值相加

Sql 方法,如果ID相同,则将值相加,sql,asp.net-mvc,model,Sql,Asp.net Mvc,Model,您好,我目前正在尝试找出如何将值添加到一起,如果它们的项id在我的SQL数据库中是相同的。这是我的数据库视图 如您所见,其中两个值具有相同的“ItemID”,值为117。我希望我的方法返回两个值的组合量,因此在本例中,我希望它返回值“14” 这是我的模型中提取项目数量的方法 public int Available(Item i) { OffSiteItemDetails d = ItemDetails.Where(x => x.itemID

您好,我目前正在尝试找出如何将值添加到一起,如果它们的项id在我的SQL数据库中是相同的。这是我的数据库视图

如您所见,其中两个值具有相同的“ItemID”,值为117。我希望我的方法返回两个值的组合量,因此在本例中,我希望它返回值“14”

这是我的模型中提取项目数量的方法

  public int Available(Item i)
        {

            OffSiteItemDetails d = ItemDetails.Where(x => x.itemID == i.ID).FirstOrDefault();
            if (d == null)
                return 0;
            return d.qty;
        }
但是,当有多个值具有相同的ID时,只是不确定如何组合这些值
public int Available(Item i)
{

    List<OffSiteItemDetails> d = ItemDetails.Where(x => x.itemID == i.ID).ToList();
    if (d == null || d.Count < 1)
        return 0;

    return d.Sum(x => x.qty);
}
{ List d=ItemDetails.Where(x=>x.itemID==i.ID).ToList(); 如果(d==null | | d.计数<1) 返回0; 返回d.Sum(x=>x.qty); }
示例数据中没有与
id
s相同的示例。但是您的问题的答案是
分组依据
.itemID@GordonLinoff,我需要通过我的MVC web应用程序提取值,因为我需要显示值。因此,不确定如何在该上下文中使用GROUPBY我需要创建Count和Sum方法吗?还是应该是自动的?我目前在使用这种方法时遇到了一些错误,比如Sum是LINQ包的一部分,但是如果“Where”方法起作用,“Sum”也应该起作用。在这种情况下,Sum仅适用于IEnumerable。我已经编辑了答案真棒,我现在没有错误,但不幸的是它现在仍然不能正常工作。我在我的主页上测试了它,检查它返回的值,但它并没有添加所有值。它只是返回单个的数量。(返回7而不是14)