Linq自连接查询
数据:List<SO> 如下
SO Line Part APPRAISAL
A 1 AAA wang
A 2 BBB
A 3 CCC
B 1 DDD Ye
B 2 EEE Ye
C 1 FFFF Li
D 1 GGG wang
D 2 HHH
要求得出如下结果:
SO Line Part APPRAISAL
B 1 DDD Ye
B 2 EEE Ye
C 1 FFFF Li
即APPRAISAL有为空的都不要。
对LINQ很不了解,望大家帮帮忙,谢谢!
------解决方案--------------------sorry,,手写的代码:
var query=list.Where(s=>!list.Where(l=>string.IsNullEmpty(l.APPRAISAL)).Select(l=>l.SO).Contains(s.SO));
------解决方案--------------------也来手写个,不能保证对
var query = list.GroupBy(x => x.SO).Select(y => y.ToList()).Where(x => x.All(y => !string.IsNullOrEmpty(y.APPRAISAL))).ToList();