如何通过id获取特定值的总和

问题描述 投票:0回答:1
var totalDistributed = db.Distributions
                         .Select(m => m.Product.ProductName == (string)productNameComboBox.SelectedItem).Any()
                         ? db.Distributions.Sum(m => m.Piece) : 0;

var totalStock = db.StockIns
                   .Select(m => m.Product.ProductName == (string)productNameComboBox.SelectedItem)
                   .Any() ? db.StockIns.Sum(m => m.Piece) : 0;

使用此代码,我得到了所有值的总和,但是我想使用linq查询通过productId得到特定值的总和。 productId来自productNameComboBox

c# entity-framework linq desktop-application
1个回答
0
投票

如果Where子句找不到任何匹配项,您可以尝试此操作,Sum会返回0。

var totalDistributed = db.Distributions
                         .Where(m => m.Product.ProductName == (string)productNameComboBox.SelectedItem).Sum(m => m.Piece);

var totalStock = db.StockIns
                   .Where(m => m.Product.ProductName == (string)productNameComboBox.SelectedItem).Sum(m => m.Piece);
© www.soinside.com 2019 - 2024. All rights reserved.