すべてをグループ化するのがどれほど複雑かを知りたいのですが、1行だけです。
まあ言ってみれば
.Group(g => g.Add(c => c.GradeCode))
.Group(g => g.Add(c => c.SizeLength))
.Group(g => g.Add(c => c.SizeWidth))
.Group(g => g.Add(c => c.SizeThick))
(GradeCode> SizeLength> SizeWidth> SizeThick)の深さ4でグループ化する代わりに、深さ1 ((GradeCode AND SizeLength AND SizeWidth AND SizeThick)>)のグループ化を行うだけです。