Search code examples
linqpad

Create own data examples in LinqPad


I have a class (vb.net) with some data that I want to query in LinqPad. I already worked with some examples as the one from "Linq in Action" so they work with some kind of classes with data as well to explain queries. But I just cannot find anything about how to import or write your own classes. Could anyone help me here?

My Class looks like:

Public Class Employee
    Public Property ID As Integer
    Public Property Salery As Integer
    Public Property Name As String
    Public Property Department As String
    Public Property Gender As String

    Public Shared Function GetAllEmployees() As List(Of Employee)
        Return New List(Of Employee) From { _
            New Employee With {.ID = 1, .Name = "Mark", .Department = "HR", .Gender = "Male", .Salery = 12000},
            New Employee With {.ID = 2, .Name = "Sandra", .Department = "IT", .Gender = "Female", .Salery = 2000} _
        }
    End Function
End Class

Solution

  • You might be missing a couple things about using LINQPad:

    • Set the Language to "VB Program" and put classes where the comment says to.
    • Use the Dump method to output an expression. (For "VB Expression", Dump is called automatically.)

    Here is an example. (Note, you might be using that SQL-looking syntax.)

    Sub Main
    
        Employee.GetAllEmployees() _
            .Where(Function (employee) employee.Department = "HR") _
            .Dump()
    
        Dim hrEmployees = From employee In Employee.GetAllEmployees() 
            Where employee.Department = "HR"
        hrEmployees.Dump()
    
    End Sub
    
    ' Define other methods and classes here
    Public Class Employee
        Public Property ID As Integer
        Public Property Salery As Integer
        Public Property Name As String
        Public Property Department As String
        Public Property Gender As String
    
        Public Shared Function GetAllEmployees() As List(Of Employee)
            Return New List(Of Employee) From { _
                New Employee With {.ID = 1, .Name = "Mark", .Department = "HR", .Gender = "Male", .Salery = 12000},
                New Employee With {.ID = 2, .Name = "Sandra", .Department = "IT", .Gender = "Female", .Salery = 2000} _
            }
        End Function
    End Class