miércoles, 2 de abril de 2014

VB.Net LINQ Database (CRUD) : Crear (Agregar), Modificar, Eliminar y Listar registros





Vamos a dar una introduccion básica sobre LINQ con Bases de Datos, de manera que puedan tener una idea de como hacer un CRUD con LINQ, quiero decir, puedan hacer las operaciones básicas de base de datos, crear o agregar un regisro con LINQ, modificar o actualizar un registro con LINQ, eliminar uno o más registros así como Listar con LINQ.

Parte de esto ya se vio en un post atenrior Tutorial de ASP.NET con JQUERY, JSON, AJAX y LINQ

Vamos a asumir que nuestra base de datos es similar al siguiente esquema.


Configurar LINQ


Lo primero ha hacer es agregar un archivo DBML a nuestro proyecto o sitio Web. El archivo DBML contiene la metada data de nuestras tablas, ahi se definen sus campos y tipos, asi como su relaciones, esto luego utiliza LINQ para mapear dichas tablas.

Para hacerlo vayan a la raiz de su proyecto o sitio web, y con click derecho hagan Agregar Item, en la ventana que les aparecen, seleccionen LINQ to SQL Classes


Luego, es bastante simple, abrimos nuestro nuevo archivo creado que se encuentra dentro de la carpeta APP_CODE.


Ahora abriremos el Explorador de Servidores o Servir Explorer para poder visualizar nuestras tablas


Si no tenemos conexión alguna, utilizamos el ícono amarillo de agregar conexión

Y configuramos nuestra conexión en la ventana que aparece, tener en cuenta que si no utilizan una conexión ODBC o DSN, deben verificar que el tipo de conexión o Data Source sea SqlClient.

Configurada nuestra conexion, arrastramos nuestra tabla al archivo DBML.

Con esto ya tenemos nuestra tabla mapeada como una Clase por LINQ.

Es recomendable que configure el dbml para que trabaje con su conexion definida en su conexion String, para esto seleccione cualquier espacio en blanco del DBML y pique en la opción Propiedades

En la ventana de propiedades en la opción Connection, seleccione su cadena de conexión.


Ya tenemos listo lo necesario para comenzar a trabajar en nuestras consultas.



Insertar o Agregar Registro con LINQ


Instanciar nuestro contexto, asi tendremos acceso a la conexion de base de datos.

Dim ctx as new TextContext

Instanciar un objeto de nuestra tabla

Dim record as new Usuario

Cargar los datos de nuestra tabla

With record
            .nombre = nombre
            .paterno = paterno
            .materno = materno
            .ingreso = CInt(ingreso)
            .genero = CChar(genero)
        End With

Insertamos nuestro objeto

dbx.Usuarios.InsertOnSubmit(record)
 dbx.SubmitChanges()

Listar registros en LINQ


 Dim dbx As New TestContext
 'Varios records
 Dim records = (From u In dbx.Usuarios Where u.nombre.Equals(nombre) Select u).ToList

 'Un solo registro
 Dim record = (From u In dbx.Usuarios Where u.nombre.Equals(nombre) Select u).FirstOrDefault

Actualizar registro en LINQ


Similar al ejemplo de Listar con LINQ , obtener nuestro registro a modificar

Dim record = (From u In dbx.Usuarios Where u.nombre.Equals(nombre) Select u).FirstOrDefault

Cambiamos los datos

        With record
            .nombre = nombre2
            .paterno = paterno2
            .materno = materno2
            .ingreso = CInt(ingreso2)
            .genero = CChar(genero2)
        End With

Ejecutamos los cambios

 dbx.SubmitChanges()

Eliminar o borrar registro en LINQ


Similar al ejemplo de Listar con LINQ , obtener nuestro registro a modificar

Dim record = (From u In dbx.Usuarios Where u.nombre.Equals(nombre) Select u).FirstOrDefault

Borrarmos nuestro registro

dbx.Usuarios.DeleteOnSubmit(record)

Ejecutamos los cambios

 dbx.SubmitChanges()

Si quieren ver algo más complento en este post atenrior pueden verlo Tutorial de ASP.NET con JQUERY, JSON, AJAX y LINQ

No hay comentarios:

Publicar un comentario

 
Powered by Blogger