C# LINQ在inturn拥有收藏的收藏中查找最新项目!内部解释
有人能帮忙吗 我有一个产品集合,每个产品都有一个仓库集合,然后在仓库集合里面有一个位置集合 我需要退回我做得很好的所有产品,但我需要退回仓库集合中位置集合成员的locationWithStock 我迷路了 到目前为止我有这个想法,但它是错的。。因为StockDate不是仓库的成员,而是其集合的成员。我只需要StockDate的最新日期。。因此,我需要查看每个成员位置中有1个StockDate的每个StockDate,并只返回最新的StockDateC# LINQ在inturn拥有收藏的收藏中查找最新项目!内部解释,c#,linq,linq-to-sql,sql-order-by,linq-to-objects,C#,Linq,Linq To Sql,Sql Order By,Linq To Objects,有人能帮忙吗 我有一个产品集合,每个产品都有一个仓库集合,然后在仓库集合里面有一个位置集合 我需要退回我做得很好的所有产品,但我需要退回仓库集合中位置集合成员的locationWithStock 我迷路了 到目前为止我有这个想法,但它是错的。。因为StockDate不是仓库的成员,而是其集合的成员。我只需要StockDate的最新日期。。因此,我需要查看每个成员位置中有1个StockDate的每个StockDate,并只返回最新的StockDate var items = fro
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个)产品
每个产品.仓库多个仓库
每个仓库。位置每个仓库中有多个位置 我假设无论什么返回我正在处理的所有产品(在您的问题中)都会转换为产品状态的某些条件,因此我用
表示该条件,其中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) };
对不起,也许我解释得不对。。做得很好。。。意味着我目前正在退回所有没有问题的产品。。。。与代码无关…是的,每个产品您都是正确的产品。每个仓库有多个仓库。每个仓库有多个位置。locationWithStock需要包含位置的最新日期,但请记住,每个产品包含多个仓库,每个仓库包含多个位置。。该日期是该位置的成员。我没有从您的问题中获得确切的筛选条件。好的,我已更新了该问题。。。希望现在好一点1.很难解释