里面解释任何人都可以帮忙。LINQ查找集合中的最新项目,其中有一个集合!
我有一个产品集合,每个产品都有一个仓库集合,然后在仓库集合里面有一个仓库集合。
我需要返回所有我做得很好的产品,但我需要返回locationWithStock,这是仓库集合内部位置集合的成员。
我迷路了!
我有这个到目前为止但它错了..因为StockDate不是仓库的成员,而是它的集合。我只需要StockDateS的最新(最近的日期)..因此我需要查看每个StockDate里面每个存储位置有1,并且只返回最新的。
var items = from j in products
let locationWithStock =
j.Warehouses.OrderByDescending
(a => a.StockDate).FirstOrDefault()
select new
{
Name = j.Name,
Warehouse = locationWithStock.Name
}
我希望我解释得很好吗?
任何帮助非常感激
感谢
编辑
这是相当困难的解释:-)但我会试着解释多一点。
这里是层次
产品
每个产品都有多个仓库
每个仓库有多个位置。
我需要返回所有产品,每个产品都必须包含位置名称。
当存在多个仓库和多个位置时,找到位置的标准是什么?
我必须在每个仓库,依次在每个位置进行搜索......进出返回所有这些最新的位置(只有1个),我发现使用StockDate
对不起,也许我没有解释正确..做得很好...意味着我目前正在返回没有问题的所有产品....与代码无关... – Martin 2011-03-20 08:48:02
是的你是正确的 \t 产品 每个product.Warehouses多个仓库 每个Warehouse.Locations在每个仓库的多个位置。 – Martin 2011-03-20 08:48:30
locationWithStock需要包含来自位置的最新日期,但要记住每个产品包含多个仓库,每个仓库包含多个位置。日期是该位置的成员。 – Martin 2011-03-20 08:49:47