Sie sind auf Seite 1von 18

Cornelio Cantera 2829 Montevideo - Uruguay +(598 2) 480 6756 info@arkanosoft.

com

www.arkanosoft.com

LINQ
Consultas integradas en los lenguajes

Algunas Caractersticas
Capacidad de consulta a VB y C#. Elimina distancia entre modelo relacional y de objetos Consulta y actualizacin de datos Comprobacin de tipos en tiempo de compilacin

Un lenguaje para cualquier tipo de datos


LINQ to SQL LINQ to XML LINQ to Dataset LINQ to Objects LINQ to Entities

Operadores de Consulta Bsicos


Restriction Grouping Quantifiers Conversion Partitioning Sets Elements Aggregation Ordering Projection Casting Where GroupBy Any, All ToArray, ToList, ToDictionary Take, Skip, TakeWhile, SkipWhile Distinct, Union, Intersect, Except First, FirstOrDefault, ElementAt Count, Sum, Min, Max, Average OrderBy, ThenBy Select, SelectMany Cast, OfType

LINQ to XML
Consultas con datos jerrgicos

Ejemplo
Menos cdigo, que a su vez resulte ms expresivo, compacto y eficaz Recuperar colecciones de elementos y atributos
Dim partNos = _ From item In purchaseOrder...<Item> _ Select item.@PartNumber Dim partNos = _ From item In purchaseOrder...<Item> _ Where (item.<Quantity>.Value * _ item.<USPrice>.Value) > 100 _ Order By item.<PartNumber>.Value _ Select item

Programacin XML
Cargar XML a partir de archivos o secuencias. Serializar XML a archivos o secuencias. Crear rboles XML desde cero mediante la construccin funcional. Realizar consultas de XML con ejes de tipo XPath.

Manipular el rbol XML en memoria.


Validar rboles XML mediante XSD. Usar una combinacin de estas caractersticas para transformar las

formas de los rboles XML.

Creacin de Arboles XML


Dim contacts = _ <Contacts> <Contact> <Name>Patrick Hines</Name> <Phone Type="Home">206-555-0144</Phone> <Phone Type="Work">425-555-0145</Phone> <Address> <Street1>123 Main St</Street1> <City>Mercer Island</City> <State>WA</State> <Postal>68042</Postal> </Address> </Contact> </Contacts>

LINQ to DataSets

LINQ to DataSets
Permite joins entre tablas Soporte para DataSets y DataSets tipados Incluye mtodos de extensin para cargar datos de manera simple a una DataTable:
LoadSequence: Carga datos en una Datatable
ToDataTable: Convierte cualquier IEnumerable<T> en una DataTable creada.

Otros:
DataTable: DistinctRows, EqualAllRows, ExceptRows, IntersectRows, UnionRows DataRow: Field<T> (leer un campo), SetField<T> (setear un campo)

LINQ to DataSets
' Fill the DataSet. Dim ds As New DataSet() ds.Locale = CultureInfo.InvariantCulture FillDataSet(ds) Dim contactTable As DataTable = ds.Tables("Contact") Dim query = _ From contact In contactTable.AsEnumerable() _ Where contact.Field(Of String)("Title") = "Ms." _ And contact.Field(Of String)("FirstName") = "Carla" _ Select contact Dim contacts = query.CopyToDataTable().AsEnumerable() For Each contact In contacts Console.Write("ID: " & contact.Field(Of Integer)("ContactID")) Console.WriteLine(" Name: " & contact.Field(Of String)("LastName") & _ ", " & contact.Field(Of String)("FirstName")) Next

LINQ to SQL

LINQ to SQL
Object relational mapping. Soporte transaccional, vistas y stored procedures. Cualquier DataSource Tipos y chequeo en tiempo de compilacin

Ejemplo

LINQ to Entities

LINQ to Entities
Trabajar con datos en forma de objetos y propiedades Transparente para el programador las tablas que estn atrs. Errores en tiempo de compilacin

Referencias
http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sqlpart-1.aspx http://msdn.microsoft.com/en-us/netframework/aa904594.aspx

Cornelio Cantera 2829 Montevideo - Uruguay +(598 2) 480 6756 info@arkanosoft.com

www.arkanosoft.com

Das könnte Ihnen auch gefallen