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
。
如果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);