Language Integrated Query Johnny Halife Microsoft Student Ambassador Southworks.

Slides:



Advertisements
Presentaciones similares
SQL.
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Base de Datos II.
Acceso a Bases de Datos con Java
SQL Y BASES DE DATOS A TRAVÉS DE LA WEB
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
3/24/2017 3:58 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
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.
XML XQuery.
Mario Cortés Flores Consultor SharePoint en Renacimiento Coordinador SUGES Coautor de:
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: SELECT Ing. Alfonso Vicente, PMP
Acceso a Datos avanzado
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Matemática Ing. Alfonso Vicente, PMP
Lenguaje de consulta de Hibernate
ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor David Salgado Microsoft División.
Introducción ADO .Net.
Modelo Multidimensional
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
Introducción XML y WebServices.
JAVA Persistence API (JPA)
BASES DE DATOS ORIENTADAS A OBJETO
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Módulo 14 Programación para DBA. TEMARIO Programación y DBAProgramación y DBA.NET Framework.NET Framework Arquitectura ADO.NETArquitectura ADO.NET.NET.
PL/SQL Francisco Moreno Universidad Nacional.
Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
SQL.
SQL Básico Prof. Nelliud D. Torres.
TALLER DE PROGRAMACIÓN III
SQL Structured Query Language
SQL Server 2008 Integration Services
SQL el Structured Query Language no es mas que un lenguaje estándar de comunicación con bases de datos.
SQL: Lenguaje de Interrogación Estructurado
Facultad I · Prof. Dr. Volkert Brosda 1 XQuery una herramienta para trabajar con XML Volkert Brosda.
Sonora.Net – Ernesto Ibarra
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
XQuery. 2 Introducción De acuerdo al incremento en la cantidad de información que es almacenada, intercambiada y presentada usando XML, la habilidad para.
Web Semántica Por: Francisco Encarnación Hernández.
© 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
LINQ TO AMAZON IN SILVERLIGHT Presentación del Producto.
LENGUAJE SQL.
Bienvenidos. Desarrollo de Aplicaciones I Lic. Alfonso Felipe Lima Cortés
LENGUAJE ESTRUCTURADO DE CONSULTAS
Lenguaje Estructurado de Consulta
LINQ (Language-Integrated Query) Gabriel Espinoza Erices 2012 – 03 – 15.
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
Consultando Base de Datos con LINQ en C# Richard Jiménez V. Empresas América linqucatec.wordpress.com.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Qué es SQL? Sentencias básicas
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Stored Procedures vs. Programación Tradicional
AA Gerardo Morgade Donato AA Isnel Leyva Herbella.
Unidad 6. Tema 4. Lenguaje de consultas SQL
VISUAL STUDIO. Paradigmas de Programación Funcionalidad Win16 Win32 COM MFC Componentes Servicios APIs Windows 3.0.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
COMANDOS SQL. ¿QUÉ ES SQL? El lenguaje de consulta estructurado es un lenguaje declarativo que permite la creación, acceso e interacción de bases de datos.
Cinco Estrellas ADO.NET Entity Framework Estrella Gold.
Bienvenidos.
SQL 2: Structured Query Language
Transcripción de la presentación:

Language Integrated Query Johnny Halife Microsoft Student Ambassador Southworks

Un problema práctico Sistema 5 Stored Procedures Objeto DataAccess Recursos

Agenda Qué es LINQ? Standard Query Operations DLINQConclusiones

Qué es LINQ? La programación hoy en día Desarrollo Orientado a Objetos Datos en tecnologías no OO. Distintos entornos de Desarrollo No Intellisense, late bound, verbose T-SQL vs..NET Framework “Impedance Mismatch” Transactions Nulls - 3-value logic Normalized Data Declarative Queries Transparency Exception Handling “Different” nulls Objects Imperative operations Encapsulation Database World Programming World

Standard Query Operators Objects DLinq (ADO.NET) XLinq(System.Xml) XML.NET Language Integrated Query C#VBOthers… SQLWinFS The LINQ Project

Arquitectura LINQ Query Objects SubmitChanges() SQL Query Rows SQL or Stored Procs DLinq (ADO.NET) SQLServer from c in db.Customers where c.City == "London" select new { c.Name, c.Phone } select Name, Phone from customers where city = 'London' Application Services: - Change tracking - Concurrency control - Object identity

Una consulta hoy en día SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new c.Name, c.Phone FROM Customers c WHERE c.City ); " London " ); DataReader dr = c.Execute(cmd); while (dr.Read()) { string name = dr.GetString(0); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); } dr.Close(); Queries entre comillas Resultados no tipados No hay checkeos en compilación Argumentos literales

Una consulta con LINQ public class Customer { public int Id; public int Id; public string Name; public string Name; public string Phone; public string Phone; …} Table customers = db.Customers; var contacts = from c in customers from c in customers where c.City == "London" where c.City == "London" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; Clases que describen tablas Las tablas son colecciones El query es nativo del lenguaje Validación en tiempo de compilación

Demostracion #1 Una consulta con LINQ

En qué esta basado LINQ? En las innovaciones introducidas por C# 2.0 y C# 3.0

Objetivos de C# 3.0 Integración de OOP, Relacional y Xml. Basarse en los fundamentos de C# 2.0. No atar los lenguajes a APIS especificos. Compatibilidad hacia atrás.

Métodos de Extensión Agregar metodos a clases (incluso selladas) Notación de cascada de puntos (tipica en OOP) Fácil de escribir Expresiones Lambda Notación más clara y funcional Se pueden omitir los tipos de datos, se infieren. Puede ser una expresión o una secuencia de sentencias Inicialización de Objetos Ya no es necesario declarar tantas sobrecargas del c’tor como inicializaciones posibles hay del objeto. Inicialización de Collections Tipos Anónimos Sirven para el resultado de las querys Inferencia de Tipos Codificación más clara Posibilidad de trabajar con tipos anónimos En qué esta basado LINQ? Innovaciones C# 3.0

Demostracion #2 C# 3.0 Features

Agenda Qué es LINQ? Standard Query Operations DLINQConclusiones

Standard Query Operations Accediendo Objetos con LINQ Expresiones de Consulta con LINQ from id in source { from id in source | where condition } [ orderby ordering, ordering, … ] select expr | group expr by key [ into id query ] EMPIEZA CON from SEGUIDO DE CERO o MAS from o where orderby OPCIONAL TERMINA CON UN select o CON UN group by PUEDE CONTINUAR CON UN into

Operaciones de Consulta de LINQ RestricciónWhere Proyección Select, SelectMany Ordenación OrderBy, ThenBy AgrupaciónGroupBy Cuantificación Any, All Partición Take, Skip, TakeWhile, SkipWhile Conjuntos Distinct, Union, Intersect, Except Elementos First, FirstOrDefault, ElementAt Agregación Count, Sum, Min, Max, Average, Fold Conversion ToArray, ToList, ToDictionary CastingOfType<T>

Demostracion #3 Usando métodos de consulta

Agenda Qué es LINQ? Standar Query Operations DLINQConclusiones

Mapeo a través de atributos Mapeo manual o automatico (built-in tool) Persistencia Control de cambios automático DataContext Bases de Datos fuertemente tipadas DLINQ Datos Relacionales con DLINQ

Demostracion #3 Accediendo a datos relacionales con DLINQ

Caracteristicas Language Integrated Query Checkeos en tiempo de compilación, IntelliSense Sintaxsis tipo SQL Soporte para jerarquias y relaciones Carga de objetos inteligentes Lazy o Inmediata

Demostracion #4 Relaciones con LINQ

Caracteristicas Updates automaticos Usando optimistic concurrency Transactions Integradas con System.Transactions

Demostracion #5 Updates usando DLINQ

Conclusiones

Demostracion #7 Poniendo todo junto….

Para más información Data Access and Storage Developer Center: The LINQ Project Data Access and Storage Developer Center: The LINQ Project q/ q/ C# 3.0 Hands On Lab LINQ Hands On Lab

Preguntas

Agenda Qué es LINQ? Standard Query Operations DLINQXLINQConclusiones

XLINQ Por qué es XLINQ? “XML esta en Todos Lados” Programar con XML sigue siendo dificil XML Query vs. XMLDocuments Requiere mucha experiencia en XML No esta integrado al lenguaje No soporta joins

Qué es XLINQ? Un API para programar XML in-memory Language Integrated Query (LINQ) para XML Language Integrated Query (LINQ) para XML

Un reemplazo para System.Xml Streaming XML API Relacionado con W3C XLink Qué NO es XLINQ?

Demostracion #6 Una consulta al estilo XLINQ

XLINQ Caracteristicas Operaciones de Consulta Standard Operaciones de consulta para XML Expresiones de Consulta Transformaciones

XLINQ Query Operators XLINQ vs. XPATH ParentElement(XName)Elements()Elements(XName)Content()Content<T>()Attribute(XName)Attributes() parent::*child::name[1]child::*child::namechild::node()child::node(nodeType)attribute::nameattribute::* XPath Equivalent

XLINQ Query Operators XLINQ vs. XPATH DescendantsDescendants(XName)DescendantsAndSelfAncestorsAncestors(XName)AncestorsAndSelfElementsBeforeThisElementsAfterThis XPath Equivalent descendants::*descendants::namedescendants-or-self::*ancestors::*ancestors::nameancestors-or-self::*preceding-sibling::*following-sibling::*

Demostracion #6 XLINQ vs. XPATH