2
我有一些層次結構的元素。這些元素我想分組。Linq GroupBy包含空鍵
cuttingTools = machines.SelectMany(x0 => x0.Operations)
.SelectMany(x1 => x1.Tools)
.SelectMany(x2 => x2.CuttingTools)
.GroupBy(x => x.Tool.Operation.Machine) as IQueryable<IGrouping<T, CuttingTool>>;
但是我有一個大問題。如果機器沒有任何子操作,工具或切割工具,則結果不包含空組。例如:
Machine Tool
M1 T1
M1 T2
M1 T3
M2 T1
M2 T2
M3 Null
M1 [T1, T2, T3]
M2 [T1, T2]
M3 [None]
但目前,M3不會出現在結果中。即使沒有元素,我如何包含M3。
我雖然'組by'將至少列表中的所有組密鑰,一些組的元素可以** **空,但** **的關鍵應該是列在小組中。 –
我不確定這是否適用於Lambda。我有一個可以工作的LINQ表達式,也就是說,如果我正確地理解了您的數據結構,是否希望看到它? – Ally
謝謝。在Alexander @Ally –