The .NET Language Integrated Query Framework

Slides:



Advertisements
Presentaciones similares
Cable & Wireless Panamá. Entrar a Inicio, Programas y buscar Windows Live.
Advertisements

Windows Mobile 1. Configurar una cuenta de Correo Personal Configurar Yahoo! Microsoft Confidential2 Inicio Fin.
New Form Factors for Applications Introducción Windows Vista provee muchas formas para conectar al usuario con los datos –Colaboración usando Peer-to-Peer,
3/24/2017 3:59 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2006 Microsoft Corporation. All rights reserved.
3/24/2017 4:00 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
3/24/2017 4:02 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
De BDC a BCS Gustavo Velez Overview El problema y la solución Arquitectura Listas Externas (SharePoint Designer) Visual Studio 2010.
Windows Vista y Office System 2007 Juntos para los desarrolladores Diego Gonzalez, [C# MVP] Lagash Systems SA
3/29/ :02 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Mario Cortés Flores Consultor SharePoint en Renacimiento Coordinador SUGES Coautor de:
Infraestructura de la información crucial
Database Mounting Tool (Dsamain.exe) Mediante esta nueva herramienta y una de las mejoras de la nueva versión de Ntdsutil… podemos generar y examinar.
3/29/2017 1:27 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
LOW COST COMPUTER SYSTEM for QUALITY EVALUATION and PRESERVATION of GRAINS STORED in POLYMER BAGS Dra. Claudia Pons Researcher CONICET – LIFIA - CAETI.
Introducción a la nueva consola de administración de Exchange 2007 Angel Sánchez Clemares Ingeniero de Soporte David Cervigón IT.
Desarrollo Entrega continua Rodrigo Corral
Microsoft BizTalk Server 2006 R2: Extendiendo el negocio conectado
Vendiendo Microsoft Office 2010 Office 2010 Licenciamiento Office 2010 Licenciamiento Pablo Rovira Jefe de Producto Pablo Rovira.
BITLOCKER Fernando Guillot Paulo Dias IT Pro Evangelist Microsoft
Antonio Gámir Optimized Desktop Specialist Microsoft Ibérica.
Mejoras de SQL Server para el desarrollo con ejemplos prácticos Germán Díaz - Product Manager Microsoft Alfons González – Desarrollador y Redactor técnico.
para desarrolladores Minimizar el cambio Concentrarse en estabilidad, confiabilidad y rendimiento. Ayudar a mejorar la productividad Reducir la curva.
Service Pack 3 SQL Server 2005 Marcos Celada Microsoft Support Services
David Cervigón Luna IT Pro Evangelist Microsoft Ibérica
Christopher Quesada Developer Evangelist Microsoft.
Se trata de un nuevo tipo de Controlador de Dominio No puede escribir en su base de datos fruto de peticiones externas No se le permite tener replicación.
Las PyMEs son máquinas de crecimiento PyMEs representan hasta un 75% de todos los empleos en algunas economías (PyMEs) con conocimientos en tecnología.
© 2006 Microsoft Corporation. All rights reserved.
A demanda elástica De amplio Acceso Servicios medibles Recursos mancomunados.
Hogar y Micro Empresas Pequenas Empresas Medianas Empresas Enterprise 1-4 PCs 50+ PCs PCs PCs OEM Microsoft Open License Microsoft Open Value.
Tecnologias Usadas.Net Framework LINQ WCF Subversion Clickonce Smart Client Deployment SQL Server Compact Edition. Visual Studio Express 2008.
Alejandro García Sánchez Readiness Champion.. Licenciamiento para Pequeñas y Medianas Empresas Como Elegir el licenciamiento Correcto Preguntas y Respuestas.
Programa AER Para Socios ES Guadalupe Navarro.
Construyendo Soluciones de Aplicaciones Integradas con Formularios usando Microsoft 2007 Office System.
Overview Alejandro Ponicke Asesor de Comunidades IT Microsoft Cono Sur.
Silverlight Pablo Michelis Gerente de Relaciones Académicas Microsoft Cono Sur.
Microsoft Windows Server 2008 ”La Nueva Plataforma de Trabajo en Red”
WINDOWS 7 FIN DE SOPORTE. ¿Qué es el fin de soporte? En Microsoft existe el compromiso de proporcionar productos seguros. Nuestra política mundial de.
Autenticación David Martos Arquitecto de Software. Spenta Consulting
Isabel Gómez Desarrollo & Plataforma Microsoft Ibérica.
Pasos a seguir para asociar un MCP o una persona a la empresa
 Nicolás Padula Core Technologies Consultant  Maximiliano Stibel Core Technologies Consultant.
Vendiendo Microsoft Office 2010 Office 2010 Presentación del producto Office 2010 Presentación del producto Pablo Rovira Jefe de.
Crear Referencias Febrero 10, Ingresar al portal Ingresar a la siguiente url: Ya que se haya entrado a la URL.
¿Cómo crear y lanzar la encuesta de satisfacción? (Csat) Febrero 17, 2011.
¡Bienvenido a tu nuevo Office!. ¡Instalá tu Office en todos tus dispositivos móviles! Colaboración en línea de tus archivos con todos tus compañeros de.
The .NET Language Integrated Query Framework
INGENIERÍA DE INFORMACIÓN Y APLICACIONES
Access y Microsft Flow.
Office365 Telefónica España Dirección de Marketing de Empresas.
Bing SMB Advertisers – Search Ads
Microsoft Sync Framework, el futuro
Bienvenidos.
Sponsors Sponsors. Sponsors Sponsors Agradecimiento especial Sponsors Agradecimiento especial.
Microsoft Virtual Academy
Business Intelligence Specialist MTA Database Fundamentals MCSA SQL Server 2012/2014 MCSE Business Intelligence MCSE Data Management and Analytics.
24 Es el 6 de noviembre. Más Números
5/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
© 2007 Microsoft Corporation. All rights reserved
Capítulo 12 El Futuro es tuyo 6/2/ :54 PM
Optimización de SQL Server para IOT
Streaming de datos con Power BI
• SQL Server Integration Services SSIS
Expande tu audiencia de clientes con Bing Ads
Windows Server Management Marketing
11/24/2018 3:55 PM Dios es susurro y brisa,
Reconnect(); - Sevilla
(Nos agrada su presencia en este lugar)
Anuncios de Mayo 2019 Mes de las Damas
Transcripción de la presentación:

The .NET Language Integrated Query Framework LINQ The .NET Language Integrated Query Framework

AGENDA ¿Que es LINQ? ¿Por qué LINQ? El proyecto LINQ Consultas Integradas en los lenguajes Mejoras a los lenguajes C# y VB para soportar LINQ Usando LINQ to SQL Demo Conclusiones

¿ Que es LINQ ? Es un componente del Microsoft.Net Framework que añade la capacidad de realizar consultas nativamente a través de los lenguajes .NET usando una sintaxis similar a la de SQL. Es un modelo de programación que simplifica y unifica la implementación de acceso a cualquier tipo de dato. LINQ no impone a usar una arquitectura especifica mas bien facilita la implementación de varias arquitecturas existentes para acceso a datos. 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.

¿Porque LINQ? Con frecuencia los programas deben acceder a diferentes dominios de datos: Un documento XML Una base de datos Una llave del registry Cada dominio de datos tiene su propio modelo de acceso: Bases de datos->SQL XML->DOM,XQuery Diferentes enfoques para representar datos: Modelo Relacional Modelo Jerárquico Modelo Grafico

.NET Language Integrated Query 5/20/2018 11:43 AM The LINQ Project 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 LINQ To Objects: Es una implementación cuyo propósito es manipular colecciones de objetos los cuales pueden ser relacionados el uno al otro de forma jerárquica o grafica. Es la implementación default usada por una consulta LINQ. En código es habilitada incluyendo el namespace Systen.Linq. LINQ to ADO.NET: Incluye diferentes implementaciones que comparten la necesidad de manipular datos relaciónales. LINQ to SQL: Maneja el mapeo entre tipos personalizados en C# y el esquema físico de la tabla LINQ to Entities: Es muy similar a LINQ to SQL; sin embargo en lugar de usar una base de datos como capa de persistencia utiliza el concepto de Entity Data Model (EDM). EL resultado es una capa de abstracción que es independiente de la capa de datos física. LINQ to DataSet: Hace posible realizar consultas a objetos DataSet usando LINQ. LINQ to XML: Mejor conocido como XLinq, ofrece una representación eficiente en memoria para XML que se integra con la infraestructura de lectura/escritura de System.XML existente y es mas fácil de usar que el DOM. Los tres tipos que se encargan del trabajo de integración de XML con las consultas son : XName, XElement y XAttribute. <book> <title/> <author/> <year/> <price/> </book> XML Relational Objects © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

LINQ to Objects Es el nombre que recibe la API para los operadores de consulta estandard. Este permite hacer consultas en arreglos y colecciones de datos en memoria. Los operadores estandard de consulta son metodos estaticos de la clase estatica System.Linq.Enumerable, la cual se utiliza para crear consultas hacia objetos.

LINQ to DataSets Este es el nombre que recibe la API para el manejo de DataSets. Muchos desarrolladores tienen mucho código existente para el uso de datasets. Aquellos que no quieran quedarse rezagados, no necesitaran reescribir todo su código para aprovechar las ventajas de LINQ

LINQ to SQL Este es el nombre que recibe la API que permite interactuar con Microsoft SQL Server,esta interfaz fue conocida en versiones anteriores como DLinq. Para poder hacer uso de esta API y aprovechar todas las características de la misma debemos hacer referencia al ensamble System.Data.Linq.dll y en código al namespace System.Data.linq

Mas sobre LINQ to SQL LINQ para SQL es una implementación de  O/RM(object relational mapping, mapeador de objetos relacionales)  que viene con la nueva versión del .NET Framework y nos permite modelar bases de datos relacionales con clases de .NET. Podemos consultar bases de datos con LINQ así como actualizar/añadir/borrar datos de ellas. Visual Studio 2008 incluye un diseñador de LINQ To SQL para modelado de BD. 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”:

LINQ to Entities LINQ para entidades es un API alternativa utilizada para interactuar con bases de datos. Esta separa el modelo de la base de datos de la base de datos física insertando un mapeo lógico entre los dos.

LINQ to XML Esta API se utiliza para trabajar con XML. En versiones previas de LINQ fue conocida como Xlinq. Para poder aprovechar las ventajas de esta API hay que hacer referencia al ensamble System.Xml.Linq.dll y en código al namespace System.xml.linq

Consultas Integradas Son una característica integrada del lenguaje principal del desarrollador (C#,VB). Permiten que las expresiones de consulta se beneficien de los metadatos ricos, verificación de sintaxis en tiempo de compilación, tipado estatico y ayuda IntelliSense Definen un conjunto de operadores de consulta estándar de propósito general que permiten a los lenguajes filtrar, enumerar y crear proyecciones de varios tipos de colecciones usando la misma sintaxis. Tales colecciones pueden incluir arreglos, clases enumerables, XML, conjuntos de datos desde bases de datos relacionales y origenes de datos de terceros.

Mejoras en C# y VB para soporte de LINQ Lambda expressions. También llamadas "funciones en línea". 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 "función" 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.

Ejemplo de Consulta

Usando LINQ to SQL 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

El modelador de Visual Studio

LINQ to SQL: DataContext Esta clase es a través de la cual realizaremos las consultas a las entidades de nuestra base de datos. Esta clase tendrá propiedades que representarán a cada tabla que hemos modelado, así como métodos para cada procedimiento almacenado que añadamos 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

LINQ to SQL: Consultando datos VB

LINQ to SQL: Actualizando datos VB

LINQ to SQL y ASP.NET Los resultados de las consultas LINQ implementan la interfaz IEnumerable - la cual es una interfaz que los controles de servidor de ASP.NET soportan para enlazar datos. Lo que implica que podemos enlazar los resultados de cualquier consulta LINQ, LINQ to SQL, o LINQ to XML a cualquier control ASP.NET.

Ejemplo ASP.NET 1/3 Por ejemplo, podemos declarar un control <asp:gridview> en una página .aspx de la siguiente forma:

Ejemplo ASP.NET 2/3 Luego, podemos enlazar los resultados de la consulta LINQ to SQL que escribimos antes:

Ejemplo ASP.NET 3/3 Esto generará una página como la siguiente:

The LINQ Project .NET