我目前有3个列表
List<string>machines
List<string>productCodes
List<ProductionData> productionData
我需要根据productionData列表检查机器和生产代码。有没有办法做到这一点,而无需使用Foreach机器,然后使用Foreach productCodes。见下面的代码
int productionCount = 0;
var productionData = (from p in Entities.Scrappages
where p.Date >= p.Date && p.Date <= p.Date
select p).ToList();
List<string>machines = new List<string>();
List<string>productCodes = new List<string>();
foreach (var machine in machines)
{
foreach (var productCode in productCodes)
{
productionCount =
(from p in productionData
where p.MachineID.Equals(machine) && .ProductionCode.Equals(productCode)
select p).Count();
}
}
如果没有foreach,有没有办法做到这一点?
答案 0 :(得分:2)
您可以尝试这样的事情:
var productionCount = (from pd in productionData
join pc in productCodes
on pd.ProductionCode equals pc
join m in machines
on pd.MachineId equals m
select pd).Count();