이과를 통해LINQ GROUPBY 사용
Dim myData = db.Tbl_Exercises.Where(Function(x) x.Exercise_Employee_ID).OrderBy(Function(x) x.Exercise_Create_Date)
I 루프 :
For Each i As Tbl_Exercise In myData
data.Add(New Object() {i.Tbl_Exercise_Type.ExType_Desc, i.Exercise_Duration})
Next
을 어떻게 i.Tbl_Exercise_Type.ExType_Desc
그룹화 그래서 내가하지 할 수있는 중복이 있습니까? 내 루프 내에서 변수에 액세스하는 방법을 모른다,
Dim myData = db.Tbl_Exercises.Where(Function(x) x.Exercise_Employee_ID).GroupBy(Function(x) x.Exercise_Type_ID)
그러나 :
나는이 시도.감사합니다.
편집 :
<EmployeeAuthorize()>
Function ExercisePieChartData() As JsonResult
' get current employee's id
Dim db1 As EmployeeDbContext = New EmployeeDbContext
Dim user1 = db1.Tbl_Employees.Where(Function(e) e.Employee_EmailAddress = User.Identity.Name).Single()
Dim empId = user1.Employee_ID
Dim activityGroups = db.Tbl_Exercises.Where(Function(x) x.Exercise_Employee_ID = empId).GroupBy(Function(x) x.Exercise_Type_ID)
Dim data = New List(Of Object)
' columns (headers)
data.Add(New Object() {"Type", "Duration"})
' Iterate through each collection of activities, grouped by activity types
For Each group In activityGroups
' Iterate through each Tbl_Exercise in the group
For Each activity In group
' Do something with an individual element
data.Add(New Object() {activity.Tbl_Exercise_Type.ExType_Desc, activity.Exercise_Duration})
Next
Next
Return Json(data, JsonRequestBehavior.AllowGet)
End Function
편집 :
' Iterate through each collection of activities, grouped by activity types
For Each group In activityGroups
Dim type = ""
Dim duration = 0
' Iterate through each Tbl_Exercise in the group
For Each activity In group
' Do something with an individual element
type = activity.Tbl_Exercise_Type.ExType_Desc
duration += activity.Exercise_Duration
Next
data.Add(New Object() {type, duration})
Next
하지만 예 : 간단
GroupBy
위에Select
에 전화를 추가하면 원하는 집합 형태로 결과를 투영하게됩니다 'Exercise_Type_ID'를 사용합니다. 어느 그룹으로 그룹을 찾고 있습니까? – user7116'ExType_Desc'는'Tbl_Exercise_Type'에 속하며'i.Tbl_Exercise_Type.ExType_Desc'를 통해 액세스됩니다. – user1477388
각 직원이 자신이 수행하는 활동 유형별로 그룹화 된 운동 기간 컬렉션을 얻으 려하고 있기 때문에 이해합니다. – mclark1129