C# 我希望汇总数据库中表中具有相同商品id的所有行中的所有商品价格

C# 我希望汇总数据库中表中具有相同商品id的所有行中的所有商品价格,c#,linq,C#,Linq,我希望对数据库表中所有行中具有相同商品id的所有商品价格求和。我的意思是,当我从dropdownlist中选择特定商品id时,结果应该是一个数字,并将其自动放在文本框中 在林克我怎么做 这是我想要的还是应该使用的分组方式 告诉我正确答案是什么: public double oIlstGetVouchersDetailjh(int nvoucherID) { vouchers ovouchers = new vouchers(); double su

我希望对数据库表中所有行中具有相同商品id的所有商品价格求和。我的意思是,当我从dropdownlist中选择特定商品id时,结果应该是一个数字,并将其自动放在文本框中

在林克我怎么做

这是我想要的还是应该使用的
分组方式

告诉我正确答案是什么:

    public double oIlstGetVouchersDetailjh(int nvoucherID)
    {
        vouchers ovouchers = new vouchers();
        double sum = (from Entity in ovouchers.INV_InventoryItems
                                    where Entity.ItemID == nvoucherID
                                    select Entity.ItemPrice).Sum();
        return sum;
    }

我认为数据库中需要一个新表,其中包含ID和总值。您当前的解决方案仅获取1个ID。使用Group By将为所有ID创建总计

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
凭证ovouchers=新凭证();
ovouchers.INV_InventoryItems=新列表(){
新库存{
ItemID=123,ItemPrice=1
},
新库存{
ItemID=123,ItemPrice=2
},
新库存{
ItemID=123,ItemPrice=3
},
新库存{
ItemID=124,ItemPrice=1
},
新库存{
ItemID=124,ItemPrice=1
},
};
var inventoryByID=ovouchers.INV_InventoryItems.AsEnumerable()
.GroupBy(x=>x.ItemID,y=>y.ItemPrice)
.Select(x=>new{ID=x.Key,total=x.Sum()});
字符串boxID=“123”;
double itemID=inventoryByID.Where(x=>x.ID==int.Parse(boxID)).Select(y=>y.total.FirstOrDefault();
}
}
公务舱优惠券
{
公共列表库存项目{get;set;}
}
公共类目录
{
公共int ItemID{get;set;}
公共双项目价格{get;set;}
}
}
​

此查询为您提供了什么?你希望它能给你什么?看起来应该没问题,但您没有关于数据的其他结构的详细信息。我没有尝试过。。我是一个编程新手,尤其是LinqoDelicies.INV_InventoryItems.Where(x=>x.ItemID==nvoucherID)。Select(x=>x.ItemPrice)。Aggregate((x,y)=>x+y);Hello Jdweng我想对数据库中表中所有行中具有相同项目id的所有项目价格求和…..我的意思是,结果应该是一个数字,当我从DropDownList中选择特定项目id时,会自动将其放在文本框中。我修改了代码以通过查询从Group中获取价格。这是一个折衷的查询,每次你需要得到一个ID的总价格或做一次一个表格的结果。我会尝试5小时后,但这是实现我想要的??我在cs fill中写了它,想在aspx.cs中调用它。我如何才能做到这一点,并将结果放在文本框中………为什么您将itemprice放在group by中。??我认为你修改的代码看起来像是我在上面写的代码是真的??public double double oIlstGetVouchersDetailjh(int-nvoucherID){凭证ovouchers=new凭证();double sum=(来自ovouchers.INV_InventoryItems中的实体,其中Entity.ItemID==nvoucherID选择Entity.ItemPrice)。sum();return sum;}