LINQ, Visual Basic 2008 y DataSet
LINQ to DataSet (L2DataSet)
Resumen general de lo publicado sobre LINQ hasta el momento:
Información general sobre LINQ
LINQ to Objects
LINQ to XML
En esta ocasión, vamos a desarrollar un ejemplo que es casi idéntico al ejemplo de LINQ y XML.
Lo que vamos a hacer, es trabajar a partir de un documento XML que vamos a cargar en en un DataSet para trabajar con el DataSet de forma directa.
Una vez más, vamos a elaborar un sencillo ejemplo del uso de LINQ con el objeto DataSet.
En primer lugar, trabajaremos con el documento XML de nombre Documento.xml y que contendrá la siguiente información:
<?xml version=«1.0«?> <datosGenerales> <datosPersona> <nombre>Fernando</nombre> <edad>18</edad> </datosPersona> <datosPersona> <nombre>Rosa</nombre> <edad>17</edad> </datosPersona> <datosPersona> <nombre>Carlos</nombre> <edad>21</edad> </datosPersona> </datosGenerales> |
Partiendo de este documento XML, vamos a aprovechar la base de los ejemplos anteriores de LINQ puestos al principio de esta entrada, y vamos a insertar un nuevo control Button en el formulario Windows de ejemplo.
Finalmente, vamos a escribir el siguiente código de aplicación:
Public Class MainForm Private Sub btnForthTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnForthTest.Click ‘LINQ to DataSet Dim datos As New DataSet() ‘ Leemos los datos del documento XML y los ‘ volcamos al objeto de tipo DataSet datos.ReadXml(«C:Documento.xml») ‘ Declaramos una variable para obtener los datos del ‘ documento XML que cumplen la condiciSql programada Dim personasSeleccionadas = From seleccion In datos.Tables(0).AsEnumerable() Where seleccion.Field(Of String)(«nombre») Like «??r*» Select seleccion.Field(Of String)(«nombre») ‘ Declaramos una variable para obtener el resultado Dim resultadoObtenido As String = «» ‘ Recorremos los resultados de la condiciSql For Each elemento In personasSeleccionadas resultadoObtenido &= elemento & vbCrLf Next ‘ Mostramos el resultado final MessageBox.Show(resultadoObtenido) End Sub End Class |
Este ejemplo en ejecución, dará el mismo resultado que el ejemplo anterior de LINQ to XML, es decir, los valores Fernando y Carlos del documento XML.
Como podemos observar, el trabajo con DataSets es o puede ser directo y transparente a la hora de ejecutar sentencias con LINQ.
Espero que este breve ejemplo sirva de muestra para el trabajo con LINQ y DataSet que contiene datos.
3 Responsesso far
LINQ to Entities (L2E) Resumen general de lo publicado sobre LINQ hasta el momento: Información general
LINQ to Entities (L2E) Resumen general de lo publicado sobre LINQ hasta el momento: Información general
Jorge
te consulto acerca de rellenar un datatable con el resultado de una consulta linq. En versiones anteriores habia un metodo ToDataTable y llenaba el datatable y con ello luego lo agrego al dataset. Ahora en la version definitiva de VB2008 como lo solucionamos, ya que el metodo no aparece.