读书人

linq通过一个list条件查询另外一个lis

发布时间: 2012-03-03 15:33:04 作者: rapoo

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]

读书人网 >.NET

热点推荐