我在ListBy上遇到一些问题。假设我们有54个类型的项目:
Public Class CourseDetailData
Public Disp As String
Public CourseName As String
Public CourseIdNo As String
Public DisplayOrder As String
Public InOutType As String
Public HoleIdNo As String
Public ParNo As String
Public HandicapNo As String
Public HoleImg As String
Public HoleDesc As String
Public DrivingRecFlag As String
Public NearpinRecFlag As String
Public TeePosType As String
Public TeeNo As String
Public YardNo As String
End Class
这是SQL结果(我的代码将结果放入对象中):
disp, course_name, course_id_no, display_order, inout_type, hole_id_no, par_no, handicap_no, hole_img, hole_desc, driving_rec_flag, nearpin_rec_flag, tee_pos_type, tee_no, yard_no
'0', 'Course1', '1', '1', '1', '1', '5', '1', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '2', '5', '2', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '3', '5', '3', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '4', '5', '4', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '5', '3', '5', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '6', '3', '6', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '7', '3', '7', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '8', '3', '8', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '9', '4', '9', NULL, NULL, '1', '1', 'Blue Tee24', '3', '1'
'0', 'Course1', '1', '1', '1', '1', '5', '1', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '2', '5', '2', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '3', '5', '3', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '4', '5', '4', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '5', '3', '5', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '6', '3', '6', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '7', '3', '7', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '8', '3', '8', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '9', '4', '9', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '1', '1', '5', '1', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '2', '5', '2', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '3', '5', '3', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '4', '5', '4', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '5', '3', '5', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '6', '3', '6', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '7', '3', '7', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '8', '3', '8', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '1', '9', '4', '9', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '10', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '11', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '12', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '13', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '14', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '15', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '16', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '17', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '18', '4', '10', NULL, NULL, '1', '1', 'Blue Tee', '3', '2'
'0', 'Course1', '1', '1', '2', '10', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '11', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '12', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '13', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '14', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '15', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '16', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '17', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '18', '4', '10', NULL, NULL, '1', '1', 'White Tee', '2', '2'
'0', 'Course1', '1', '1', '2', '10', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '11', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '12', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '13', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '14', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '15', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '16', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '17', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
'0', 'Course1', '1', '1', '2', '18', '4', '10', NULL, NULL, '1', '1', 'Red Tee', '1', '3'
这是我的LINQ请求(非常简单,但是我在GroupBy之后用Select尝试了很多其他尝试,但没有成功。我认为这个请求可以完成工作)
Dim test = courseDetailList.GroupBy(Function(x) New With {x.CourseIdNo, x.InOutType})
For Each t In test
Console.WriteLine($"{t.Key.CourseIdNo} {t.Key.InOutType}")
Next
但这是结果:
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
1 2
我想按CourseId和InOutType进行分组,但似乎返回了54个不同的分组(而不是2个)。
我阅读了有关StackOverflow(及其他)的相关问题,该问题解释了如何执行多列GroupBy,但看来我是唯一遇到此问题的人。
我试图将CourseIdNo和InOutType类型更改为Integer,但是没有更改(以前的开发人员将所有属性编码为String ...)。
能帮我吗?