Imports System.Reflection
Imports System
Public Class Role
Public ID As Integer
Public RoleDescription As String
End Class
Public Class Person
Public ID As Integer
Public IDRole As Integer
Public LastName As String
Public FirstName As String
End Class
Public Class Salary
Public IDPerson As Integer
Public Year As Integer
Public SalaryYear As Double
End Class
Module Module1
Sub Main()
Dim people As New List(Of Person)(New Person() { _
New Person With {.ID = 1, .IDRole = 1, .LastName = "A", .FirstName = "Brad"}, _
New Person With {.ID = 2, .IDRole = 2, .LastName = "G", .FirstName = "Tom"} _
})
Dim roles As New List(Of Role)(New Role() { _
New Role With {.ID = 1, .RoleDescription = "Manager"}, _
New Role With {.ID = 2, .RoleDescription = "Developer"} _
})
Dim salaries As New List(Of Salary)(New Salary() { _
New Salary With {.IDPerson = 1, .Year = 2004, .SalaryYear = 10000.0}, _
New Salary With {.IDPerson = 1, .Year = 2005, .SalaryYear = 15000.0}, _
New Salary With {.IDPerson = 2, .Year = 2005, .SalaryYear = 15000.0} _
})
Dim query = From p In people, s In salaries _
Where p.ID = 1 AndAlso p.ID = s.IDPerson _
Select s.SalaryYear
Console.WriteLine(query.Average())
End Sub
End Module