【发布时间】:2020-12-23 01:57:02
【问题描述】:
实际上,我在 LINQ 中遇到问题,请帮助我解决这个问题。让我分享我的问题。我有两张桌子。
表 1
LocationID LoginID LocationName
1 101 A
2 101 B
3 101 C
在此表中,我们显示了位置名称列表。
表2
ID LoginID STOCKID QUANTITY LocationID
1 101 1 10 1
2 101 1 -8 1
3 101 2 20 2
4 101 2 -5 2
5 101 1 30 1
在此表中,我们显示了不同位置的库存商品数量列表。
现在,我希望结果能够分别显示每个位置的库存商品总量。 结果应该是这样的:
LocationID LocationName QUANTITY
1 A 32
2 B 15
让我与你分享我的代码。
public ActionResult GetStockQuantityPartial(int? Stock_ID)
{
string loginId = Convert.ToString(Session["LoginId"]);
var emp = (from m in context.StockMovements
join o in context.Locations
on m.Location equals o.LocationID
where m.Stock_ID == Stock_ID && m.LoginID == loginId
group new { m, o } by new { m.Location, m.Quantity, o.Location_Name } into grp
select new DisplayQuantityViewModel
{
Location = grp.Key.Location,
LocationName = grp.Key.Location_Name,
TotalStockQuantity = grp.Sum(x => x.m.Quantity)
}).ToList();
return PartialView("_DisplayStockQuantity", emp);
}
【问题讨论】:
-
你的代码有什么问题?
-
我没有得到这个输出
-
Stock_ID的什么值被传递给操作? -
表 2 StockId
-
{1, 2}- 哪一个?
标签: asp.net-mvc entity-framework linq c#-3.0