Quantcast
Channel: Linq to DataTable - VB .Net 2010
Viewing all articles
Browse latest Browse all 5

Linq to DataTable - VB .Net 2010

$
0
0

Buenas noches, estoy iniciándome en LINQ TO SQL y me encuentro desarrollando un sitio web, lo he dividido en 3 proyectos (capas):

1.- Proyecto con la interfaz web

2.- Proyecto con la lógica del negocio (BL)

3.- Proyecto de acceso a datos (DAL) (Linq to SQL)

Para aprovechar la rapidez del desarrollo con LINQ tengo mi diagrama de Base de Datos (archivo .dbml) junto con los procedimientos almacenados, en cada tabla asocie el procedimiento para las transacciones (insertar, eliminar, actualizar) hasta aqui todo OK bajo la arquitectura en capas.

Mi problema se da al devolver un SELECT, o mejor dicho un procedimiento almacenado con seleccion y condicion por parametros, he intentado lo siguiente:

Public Function ListarUsuario(ByVal codigo As Int32) As DataTable
        oVentas = New VentasDataContext
        Try
            Return oVentas.usp_listar_usuario(codigo)
        Catch ex As Exception
            Throw ex
        Finally
            oVentas = Nothing
        End Try
    End Function

Al intentar asignar el resultado a mi gridview (capa web) me genera el siguiente error:

No se puede convertir un objeto de tipo 'SingleResult`1[ProyectoDAL.usp_listar_usuarioResult]' al tipo 'System.Data.DataTable'.

La forma en la que asigno el valor es un simple llamado de la funcion en el archivo aspx.vb :

Me.grvUsuario.DataSource = oAperturaBL.listarUsuario(13)
Me.grvUsuario.Dispose()

Si tuviera el DataContext en el mismo proyecto que la interfaz web no tendria problema, pero me gustaria tener el código dividido, espero me puedan ayudar o aclarar como trabajar bajo este nuevo esquema LINQ to SQL.

Gracias!


Viewing all articles
Browse latest Browse all 5

Latest Images

Trending Articles





Latest Images