Asignar Datos anónimos a una Clase

Cuando hacemos una consulta en linQ y no necesitamos todos los campos de la tabla, esta consulta retorna un tipo de datos anónimo (que no está defido), por lo tanto podemos crear una clase para asignar estos valores y retornar los campos deseados.


Podemos crear una clase con los datos que necesitemos. Como por ejemplo Color y Marca, de la siguiente manera:

Public Class VehClass
    Private _Color As String
    Private _Marca As String
  
    Public Property Marca() As String
        Get
            Return _Marca
        End Get
        Set(ByVal value As String)
            _Marca = value
        End Set
    End Property

    Public Property Color() As String
        Get
            Return _Color
        End Get
        Set(ByVal value As String)
            _Color = value
        End Set
    End Property

    Public Sub New(ByVal xColor As String, ByVal xMarca As String)
        Me.Color = xColor
        Me.Marca = xMarca
    End Sub

    Public Sub New()

    End Sub
End Class




Entonces Nuestra consulta quedaría de la siguiente manera:

Dim Consulta = (From Tabla In Dbx.Vehiculo _
                       Select New VehClass With {.Color = Tabla.Color, _
                                                 .Marca = Tabla.Marca}).ToList

Y esto nos retorna un Listado tipo VehClass osea un List (Of VehClass)

Comentarios