任何人都可以提供帮助。
我有一系列产品,每个产品都有一个仓库集合,然后在仓库集合内有一系列的位置。
我需要退回所有我做得很好的产品,但我需要退回locationWithStock,它是仓库集合内的地点集合的成员。
我迷路了!
到目前为止,我有这个但它错了..因为StockDate不是Warehouse的成员,而是它的集合。我只需要StockDateS的最新(最近的日期)..因此我需要查看每个StockDate里面每个memeber位置有1个并且只返回最新的。
var items = from j in products
let locationWithStock =
j.Warehouses.OrderByDescending
(a => a.StockDate).FirstOrDefault()
select new
{
Name = j.Name,
Warehouse = locationWithStock.Name
}
我希望我解释得好吗?
任何帮助真的很感激
由于
修改
这很难解释:-)但我会尝试解释一下。
这是层次结构
产品
每个产品都有多个仓库
每个仓库都有多个位置。
我需要退回所有产品,每个产品必须包含位置名称。
当有多个仓库和多个地点时,找到该位置的标准是什么。
我必须在每个仓库中搜索,然后依次搜索每个位置......然后将所有这些内容全部返回到我使用StockDate检测到的最新位置(仅1)
答案 0 :(得分:1)
<强>产品强>
每个产品。仓库多个仓库
每个仓库中的每个 Warehouse.Locations 多个位置。
我假设无论返回我正在做的所有产品(在你的问题中)转化为产品状态的某些条件,所以我用下面代码中的where p.Doing == "Fine"
where子句表示该条件你可以适当修改。
var stocks =
from p in products
from w in p.Warehouses
from l in w.locations
group l by l.Date into g
let maxDate = g.Max(l1 => l1.Date)
select new { Product=p.Name, Location= g.Where(l2 => l2.Date == maxDate) };