私は VB.NET アプリケーションを使用しており、複数の列で Group By を実行したいと考えています。
クラス構造:
Public Class Person
Public Property Name as String
Public Property City as String
Public Property Country as String
End Class
Dim oResult = PersonList _
.GroupBy(Function(v) New With {v.City, v.Country}) _
.Where(Function(grp) grp.Count > 1).ToList()
同じ都市名と国名を含む個人レコードが複数あります。しかし、上記のクエリではアイテムが返されません。City または Country の列を 1 つだけ使用している場合は、正常に機能しています。
Dim oResult = PersonList _
.GroupBy(Function(v) v.City) _
.Where(Function(grp) grp.Count > 1).ToList()
複数のパラメーターを使用した Group By LINQ クエリのどこが間違っているか、誰でも指摘してくれます。