Programacion

Páginas: 8 (1943 palabras) Publicado: 24 de julio de 2012
naEntendiendo LINQ (Language Integrated Query) con C# y Mono
L.I.S. Martín Márquez

Introducción
Hoy día es común encontrar aplicaciones en las cuales hay una necesidad de reemplazar o migrar de una o de varias fuente de datos hacia otra u otras fuentes de datos similares o totalmente diferentes, si bien este cambio se da por razones de desempeño, económicas o de capacidad, este cambioimplica que el desarrollador ajuste o reescriba el lenguaje de acceso a la fuente de datos (SQL, Macros,DOM, Xquery) para poner en marcha la aplicación utilizando la fuente de datos actualizada. Un escenario así presenta las siguientes dificultades: • • • Los errores de sintaxis del lenguaje de acceso a la fuente de datos no son localizables por el compilador y solo se encuentran en tiempo deejecución. Obliga a que el desarrollador entienda a determinado nivel el lenguaje de manipulación de la fuente de datos, por ejemplo si es una base de datos se debe entender SQL, si es un XML entender DOM o XQuery. Es inevitable la mezcla de lenguajes en la solución, para el desarrollo un lenguaje de programación imperativo orientado a objetos (como C#) y un lenguaje imperativo (como SQL) para lamanipulación de datos.

En este escenario LINQ proporciona una solución estupenda, ya que las consultas estarían integradas dentro del lenguaje de programación sin importar cual fuese la fuente de datos y con la consistencia de utilizar el mismo patrón para todas las consultas.

Acerca de LINQ
Language Integrated Query o LINQ es una tecnología integrada en .NET que proporciona la capacidad paraconsultar o manipular diversas fuentes de datos, independientes del proveedor utilizando de forma nativa la sintaxis de cualquier lenguaje de programación soportado por .NET, lo cual nos proporciona el soporte del compilador y nos permite concentrarnos únicamente en las búsquedas en lugar de cómo hacer la rutina para cada búsqueda, además la sintaxis de LINQ es similar a SQL lo que nos proporciona unestándar ya que es la misma sintaxis para todas las fuentes de datos diferentes o similares. Dependiendo de la fuente de datos a trabajar, es el componente LINQ a utilizar, los componentes se agrupan en: LINQ to SQL: Es el conjunto de clases, estructuras, interfaces y enumeraciones utilizadas para escribir consultas a bases de datos relacionales como PostgreSQL, SQL Server o MySQL. LINQ to Objects: Esla API predeterminada de LINQ y permite escribir consultas parar arreglos, estructuras y colecciones de objetos en memoria. LINQ to XML: Proporciona la habilidad de escribir consultas para procesar fuentes de datos XML. LINQ to DataSet: Es la API dedicada a trabajar con clases DataSets y DataTables, ya que aun existen aplicaciones y desarrolladores que utilizan esta solución.

En este tutorialmostraremos una serie de ejemplos con cada una de las expresiones y operadores de consulta de LINQ, utilizando el API predeterminada de LINQ o sea LINQ to Objects.

Trabajando LINQ con Mono
Antes de empezar a trabajar debemos tener instalado y configurado la última versión del proyecto Mono, esto se consigue desde el sitio de descarga: http://www.mono-project.com/Main_Page Empezaremos creandouna aplicación de consola, para ejemplificar sobre todo las expresiones de consulta que se utilizan con LINQ. Esta aplicación tendrá tres colecciones de objetos (entidades) Hospital, Almacén y Artículos la relación entre un hospital, un almacén y los artículos está dada por una relación de uno a muchos, donde un hospital tiene desde uno a varios almacenes y en cada almacén hay uno o variosartículos diferentes. Para empezar con el ejemplo, escribiremos el código de las objetos que utilizaremos en el ejemplo, este código es el siguiente: class Hospital { public int ID{set;get;} public string NombreH {set;get;} } class Almacen { public Hospital Hospital {set;get;} public int IDAlmacen{ set;get;} public string NombreA { set; get;} } class Articulo{ public Almacen Almacen {set;get;} public...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS