linq通过一个list条件查询另外一个list怎么实现
- C# code
var pkList = listPickOrderDetail2 .GroupBy(x => new { x.PKID, x.SKU }) .Select(group => new { Peo = group.Key, Count = group.Count(), SumQty = group.Sum(a => a.Quantity), g = group.First() });
上面这段代码是通过一个list 二个条件去进行分组, 得出来结果放在pkList
但是我现在有个需求就是 通过这个pkList 里面的 pkid sku 再去数据库某个表里面去分组再查询出来一个list
最后我用二个list做比较, 我需要不会的是怎么通过一个list条件再去查询另外一个list
[解决办法]
- C# code
var query = from x in list2 let skus = pkList.Select(t => t.Peo.SKU).ToList() where skus.Contains(x.sku) select x;
[解决办法]
在查询中let 使用外面的集合 是不行的吧?
先从 pkList 里面 提取出条件,再 在第二次查询where 中使用
[解决办法]
[code=C#]
var query=from x in list2
where list.select(y=> y.sku).contains(x.skus)
select x;
[/code]