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();