Using compound From clause to select all orders where total is less than 500.00.
Imports System.IO Imports System.Reflection Imports System.Linq Imports System.Xml.Linq Imports System.Collections Imports System.Collections.Generic Public Class Project Public ProjectID As Integer Public ProjectName As String Public Category As String Public Cost As Decimal Public YearLength As Integer End Class Public Class Employee Public EmployeeID As String Public CompanyName As String Public Address As String Public City As String Public Region As String Public PostalCode As String Public Country As String Public Phone As String Public Fax As String Public Payments As Payment() End Class Public Class Payment Public PaymentID As Integer Public PaymentDate As DateTime Public Total As Decimal End Class Public Class MainClass Public Shared Sub Main() Dim projectList As List(Of Project) = New List(Of Project) projectList.Add(New Project With {.ProjectID = 1, .ProjectName = "A", .Category = "Design", .Cost = 18D, .YearLength = 39}) projectList.Add(New Project With {.ProjectID = 2, .ProjectName = "B", .Category = "Testing", .Cost = 19D, .YearLength = 17}) projectList.Add(New Project With {.ProjectID = 3, .ProjectName = "C", .Category = "Coding", .Cost = 10D, .YearLength = 13}) projectList.Add(New Project With {.ProjectID = 4, .ProjectName = "D", .Category = "Meeting", .Cost = 22D, .YearLength = 53}) projectList.Add(New Project With {.ProjectID = 5, .ProjectName = "E", .Category = "Writing", .Cost = 21.35D, .YearLength = 0}) projectList.Add(New Project With {.ProjectID = 6, .ProjectName = "F", .Category = "Testing", .Cost = 25D, .YearLength = 120}) projectList.Add(New Project With {.ProjectID = 7, .ProjectName = "G", .Category = "Coding", .Cost = 30D, .YearLength = 15}) projectList.Add(New Project With {.ProjectID = 8, .ProjectName = "H", .Category = "Design", .Cost = 40D, .YearLength = 6}) projectList.Add(New Project With {.ProjectID = 9, .ProjectName = "I", .Category = "Coding", .Cost = 97D, .YearLength = 29}) Dim employeeList As List(Of Employee) = New List(Of Employee) employeeList.Add(New Employee With {.EmployeeID = 1, .CompanyName = "Company A", .Address = "Street 1", .City = "City 1", .Region = "North"}) employeeList.Add(New Employee With {.EmployeeID = 2, .CompanyName = "Company B", .Address = "Street 2", .City = "City 2", .Region = "South"}) employeeList.Add(New Employee With {.EmployeeID = 3, .CompanyName = "Company C", .Address = "Street 3", .City = "City 3", .Region = "West"}) employeeList.Add(New Employee With {.EmployeeID = 4, .CompanyName = "Company D", .Address = "Street 4", .City = "City 4", .Region = "East"}) employeeList.Add(New Employee With {.EmployeeID = 5, .CompanyName = "Company E", .Address = "Street 5", .City = "City 5", .Region = "North"}) employeeList.Add(New Employee With {.EmployeeID = 6, .CompanyName = "Company F", .Address = "Street 6", .City = "City 6", .Region = "South"}) Dim orders = From cust In employeeList, ord In cust.Payments _ Where ord.Total < 500.0 _ Select cust.EmployeeID, ord.PaymentID, ord.Total For Each order In orders Console.WriteLine(order.EmployeeID) Next End Sub End Class
1. | Using a compound From clause | ||
2. | Compound Select From (select from two arrays) | ||
3. | Using a compound From clause to make a query that returns pairs |