5. C# 3.0 Visual Basic 9.0 Others .NET Language Integrated Query LINQ to Objects LINQ to DataSets LINQ to SQL LINQ to Entities LINQ to XML Objects <book> <title/> <author/> <year/> <price/> </book> XML Relational
Después de dos décadas, la industria ha alcanzado un punto estable en la evolución de las tecnologías de programación orientada a objetos. Los programadores ahora están familiarizados con conceptos como las clases, objetos y métodos. Analizando la generación de tecnologías actual y siguiente, se hace evidente que el siguiente gran reto para la tecnología de la programación es reducir la complejidad del acceso e integrar la información que no se define de manera nativa utilizando la tecnología orientada a objetos. Las dos fuentes de información no orientadas a objetos más comunes son las bases de datos relacionales y XML.
Visual Studio 2008 viene con un diseñador de LINQ para SQL que nos aporta una forma fácil de modelar y visualizar una base de datos como un modelo de objeto de LINQ para SQL. Usando ese diseñador LINQ para SQL podemos crear fácilmente una representación de la base de datos “Northwind”:
Tales colecciones pueden incluir arreglos , clases enumerables, XML , conjuntos de datos desde bases de datos relacionales y origenes de datos de terceros.
Lambda expressions . También llamadas &quot;funciones en línea&quot;. Para abreviar, las expresiones lambda son como eso, funciones en línea, es decir, podemos definir una función donde se espera una expresión cualquiera, y el valor que esa &quot;función&quot; devuelve es lo que se usará como expresión. Son funciones sin nombre que calculan y devuelven un solo valor. Las expresiones lambda se pueden utilizar dondequiera que un tipo del delegado sea válido. Arboles de Expresiones: Son estructuras de datos capaces de representar de una manera eficiente el algoritmo de evaluación de la expresión. Cuando se evalúa una expresión lambda, el compilador genera esas instrucciones como un árbol de expresiones.
Cuando pulsamos el boton “save” del diseñador de LINQ para SQL, Visual Studio genera clases .NET para representar las entidades y las relaciones de la base de datos que hemos modelado. Por cada archivo añadido a nuestra solución por el diseñador LINQ para SQL también se genera una clase DataContext