我正在使用 LINQ to SQL 获取数据集。我需要过滤这个数据集,这样:
如果存在具有空 SourceName 的字段,并且该字段至少有一个具有非空 SourceName 的其他记录,则应将其删除。
如果它是该“字段”的唯一行,那么它应该保留在列表中。
这是一个示例数据:数据由 3 列组成:“Field”、“SourceName”和“Rate”
Field | SourceName | Rate
10 | s1 | 9
10 | null | null
11 | null | null
11 | s2 | 5
11 | s3 | 4
12 | null | null
13 | null | null
13 | s4 | 7
13 | s5 | 8
8 | s6 | 2
9 | s7 | 23
9 | s8 | 9
9 | s9 | 3
输出应如下所示:
Field | SourceName | Rate
10 | s1 | 9
11 | s2 | 5
11 | s3 | 4
12 | null | null // <- (remains since there's only
13 | s4 | 7 // 1 record for this 'Field')
13 | s5 | 8
8 | null | null
9 | s8 | 9
9 | s9 | 3
我该如何过滤它?