SlideShare una empresa de Scribd logo
Unidad 3: OPERACIONES LINQ
3.1 Introducción y conceptos.
3.2 Linq Select
3.3 Linq Insert
Plataformas de Desarrollo 1
Modalidad de estudios: Presencial
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Lfabsoft2019@gmail.com
Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados con NET.
2. Reconocer las características de .NET.
3. Conocer la historia de .NET
Semana Nro. 13
Frase Motivacional
“Si no sueltas el pasado, ¿con qué
mano agarras el futuro?.”
Objetivo general
Conocer qué es y qué utilidades tiene la aplicación de LINQ, el tipo de
sintaxis, las facilidades que presenta, las ventajas y desventajas hacia el SQL
común.
Metodología
La metodología consiste en un proceso interactivo entre el profesor
[dinamizador] y los estudiantes, la cual se hadefinido como: “Aprender
haciendo - haciendo aprendiendo”.
En este proceso el profesor será el que guiará la dinámica para que los
estudiantes puedan aprender de forma constructiva su conocimiento.
Contenidos
•LINQ
•LINQ y SQL
•Mapping SQL y LINQ
•Desventajas de LINQ
LINQ
LINQ (Language Integrated Query) ó lenguaje integrado de consultas , son un
conjunto herramientas de Microsoft para realizar todo tipo de consultas a
distintas fuentes de datos: objetos, xmls, bases de datos, etc...
Para ello, usa un tipo de funciones propias, que unifica las operaciones más
comunes en todos los entornos, con esto, se consigue un mismo lenguaje para
todo tipo de tareas con datos.
LINQ
• LINQ nace en el Framework 3.5 y pronto coge una gran aceptación entre el
mundo de .net, tanto es asi, que enseguida salen proveedores de terceros,
para el uso de este lenguaje con JSON, CSVs, o inclusos APIs como la de
Twitter y Wikipedia.
• 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.
LINQ ySQL
Consultas integradas en el lenguaje
Linq maneja una
sintaxis muy similar
a SQL.
Es fácil de aprender
Mapping
La correspondencia
entre SQL y Linq
hace que se aplique
la estructura de
Objetos para facilitar
el desarrollo
Persistencia
Linq controla
automáticamente
los cambios en la
base de datos.
MappingSQL y LINQ
Arquitectura LINQ
QUERYABLETYPES
• Los tipos que soportan IEnumerable<T> o derivan de interfaces como
IQueryable<T> son llamados Queryable Types
• Un objeto “queryable type” no requiere modificación ni trato especial para servir
como datasource de LINQ.
• Si los datos orígenes no están en memoria como “queryable type”, el proveedor
de LINQ debe representarlo como si estuviera.
Operadores más Comunes
• Select / SelectMany
• Where
• Sum / Min / Max / Average / Aggregate
• Join / GroupJoin
• GroupBy
• OrderBy / ThenBy
Ejemplo- Base de Datos
Clase DataContext
Consulta (SELECT)
Obtener aquellos productos de la categoría “Beverages”
Actualización(UPDATE)
Obtener un producto de la base de datos, actualizar su precio, y guardar
los cambios
Eliminación(Delete)
Borra todos los productos Toy de la base de datos
Ordenación
Agrupación
Ventajas
SELECT TOP 10 UPPER (c1.Name)
FROM Customer c1
WHERE
c1.Name LIKE 'A%'
AND c1.ID NOT IN
(
SELECT TOP 20 c2.ID
FROM Customer c2
WHERE c2.Name LIKE 'A%'
ORDER BY c2.Name
)
ORDER BY c1.Name
Aquí tenemos la misma consulta pero
en LINQ.
var query = from c in db.Customers
where c.Name.StartsWith("A")
orderby c.Name
select c.Name.ToUpper();
var thirdPage = query.Skip(20).Take(10);
IQueryable<Customer> GetCustomers (string state, decimal minPurchase)
{
var query = Customers.AsQueryable();
if (state != null)
query = query.Where (c => c.Address.State == "WA");
if (minPurchase != null)
query = query.Where (c => c.Purchases.Any (p => p.Price > minPurchase.Value)
);
return query;
}
SELECT [t0].[ID], [t0].[Name], [t0].[AddressID]
FROM [Customer] AS [t0]
LEFT OUTER JOIN [Address] AS [t1] ON [t1].[ID] = [t0].[AddressID]
WHERE (EXISTS(
SELECT NULL AS [EMPTY]
FROM [Purchase] AS [t2]
WHERE ([t2].[Price] > @p0) AND ([t2].[CustomerID] = [t0].[ID])
)) AND ([t1].[State] = @p1)
Ventajas
Desventajas de LINQ
A pesar de su poder, LINQ no deja obsoleto a SQL. Toma más del 95% de la
funcionalidad de las queries, pero se seguirá necesitando SQL para:
• Queries que busquen máxima optimización.
• Queries que involucren seleccionar en tablas temporales y luego consultar esas
tablas.
• Triggers
Conclusiones
LINQ nos permite modelar la capa de datos de nuestras aplicaciones de una forma
simple y limpia.
Una vez que hayamos definido nuestro modelo de datos, podemos realizar
consultas, inserciones, actualizaciones y borrados sobre ella de forma fácil y
eficiente.
Direccionamiento actividades de aprendizaje
Actividades:
• Revisar el aula virtual
• Realizar las actividades y tareas planteadas.
Se recomienda describir por ejemplo:
• Tomar apuntes esenciales, revisar el material de clases
Bibliografía
GRACIAS

Más contenido relacionado

PPTX
SQL Server replication overview (JP)
PDF
Distributed Catalogue Code and Standards.pdf
PPTX
ASH and AWR on DB12c
PDF
Ash architecture and advanced usage rmoug2014
PDF
Introduction To Oracle Sql
PPTX
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
PDF
Tanel Poder - Performance stories from Exadata Migrations
PPTX
Practical examples of using extended events
SQL Server replication overview (JP)
Distributed Catalogue Code and Standards.pdf
ASH and AWR on DB12c
Ash architecture and advanced usage rmoug2014
Introduction To Oracle Sql
Understanding Query Optimization with ‘regular’ and ‘Exadata’ Oracle
Tanel Poder - Performance stories from Exadata Migrations
Practical examples of using extended events

La actualidad más candente (9)

PDF
Art 04 controle bibliografico universal
PPTX
MARC21
PPT
Including Constraints -Oracle Data base
PDF
Oracle Performance Tuning Fundamentals
PDF
AWR Sample Report
PDF
M|18 Deep Dive: InnoDB Transactions and Write Paths
PPTX
Oracle SQL Tuning for Day-to-Day Data Warehouse Support
PPTX
Sql(structured query language)
Art 04 controle bibliografico universal
MARC21
Including Constraints -Oracle Data base
Oracle Performance Tuning Fundamentals
AWR Sample Report
M|18 Deep Dive: InnoDB Transactions and Write Paths
Oracle SQL Tuning for Day-to-Day Data Warehouse Support
Sql(structured query language)
Publicidad

Similar a 13-Unidad 3: Operaciones LINQ -3.1 Introducción 3.2 LINQ SELECT 3.3 LINQ INSERT (20)

PPTX
13-Unidad 2. Operaciones Linq
PPTX
Linq con visual studio 2008
PPTX
Framework .NET 3.5 10 Linq
PPTX
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
PDF
Brochure PEA DE24 (1) de la carrera de Sistemas
PPT
03 Diseño Elemento basicos de ingenieria de software.ppt
PPTX
S8-DAW-2022S1.pptx
PDF
Linq to sql 6
PDF
Linq to sql 3
PDF
Arquitecturas de Programación Avanzadas en NI LabVIEW.pdf
PDF
Linq to sql 9
PPTX
Cafe Virtual - Temario - Fundamentos de C# (1).pptx
PPTX
PPTX
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
PPTX
S4-DAW-2022S1.pptx
PPTX
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
PPTX
Programación con linq
PPTX
13-Unidad 2. Operaciones Linq
Linq con visual studio 2008
Framework .NET 3.5 10 Linq
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
Brochure PEA DE24 (1) de la carrera de Sistemas
03 Diseño Elemento basicos de ingenieria de software.ppt
S8-DAW-2022S1.pptx
Linq to sql 6
Linq to sql 3
Arquitecturas de Programación Avanzadas en NI LabVIEW.pdf
Linq to sql 9
Cafe Virtual - Temario - Fundamentos de C# (1).pptx
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
S4-DAW-2022S1.pptx
10- Unidad 3: Webservices - 3.2 Uso de Web services (Introducción, Caracterís...
Programación con linq
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX

Último (20)

PPTX
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
PDF
UD3 -Producción, distribución del aire MA.pdf
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PPTX
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PDF
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PDF
Clase 2 de abril Educacion adistancia.pdf
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PDF
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
PPTX
diego universidad convergencia e información
PDF
silabos de colegio privado para clases tema2
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
PPTX
Electronica II, material basico de electronica II
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
UD3 -Producción, distribución del aire MA.pdf
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
Clase 2 de abril Educacion adistancia.pdf
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
DEBL Presentación PG 23.pptx [Autoguardado].pptx
Curso Corto de PLANTA CONCENTRADORA FREEPORT
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
Manual ISO9001_2015_IATF_16949_2016.pptx
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
diego universidad convergencia e información
silabos de colegio privado para clases tema2
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
Electronica II, material basico de electronica II

13-Unidad 3: Operaciones LINQ -3.1 Introducción 3.2 LINQ SELECT 3.3 LINQ INSERT

  • 1. Unidad 3: OPERACIONES LINQ 3.1 Introducción y conceptos. 3.2 Linq Select 3.3 Linq Insert Plataformas de Desarrollo 1 Modalidad de estudios: Presencial Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Lfabsoft2019@gmail.com
  • 2. Objetivos del encuentro: 1. Adquirir los conceptos básicos relacionados con NET. 2. Reconocer las características de .NET. 3. Conocer la historia de .NET Semana Nro. 13
  • 3. Frase Motivacional “Si no sueltas el pasado, ¿con qué mano agarras el futuro?.”
  • 4. Objetivo general Conocer qué es y qué utilidades tiene la aplicación de LINQ, el tipo de sintaxis, las facilidades que presenta, las ventajas y desventajas hacia el SQL común.
  • 5. Metodología La metodología consiste en un proceso interactivo entre el profesor [dinamizador] y los estudiantes, la cual se hadefinido como: “Aprender haciendo - haciendo aprendiendo”. En este proceso el profesor será el que guiará la dinámica para que los estudiantes puedan aprender de forma constructiva su conocimiento.
  • 6. Contenidos •LINQ •LINQ y SQL •Mapping SQL y LINQ •Desventajas de LINQ
  • 7. LINQ LINQ (Language Integrated Query) ó lenguaje integrado de consultas , son un conjunto herramientas de Microsoft para realizar todo tipo de consultas a distintas fuentes de datos: objetos, xmls, bases de datos, etc... Para ello, usa un tipo de funciones propias, que unifica las operaciones más comunes en todos los entornos, con esto, se consigue un mismo lenguaje para todo tipo de tareas con datos.
  • 8. LINQ • LINQ nace en el Framework 3.5 y pronto coge una gran aceptación entre el mundo de .net, tanto es asi, que enseguida salen proveedores de terceros, para el uso de este lenguaje con JSON, CSVs, o inclusos APIs como la de Twitter y Wikipedia. • 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.
  • 9. LINQ ySQL Consultas integradas en el lenguaje Linq maneja una sintaxis muy similar a SQL. Es fácil de aprender Mapping La correspondencia entre SQL y Linq hace que se aplique la estructura de Objetos para facilitar el desarrollo Persistencia Linq controla automáticamente los cambios en la base de datos.
  • 12. QUERYABLETYPES • Los tipos que soportan IEnumerable<T> o derivan de interfaces como IQueryable<T> son llamados Queryable Types • Un objeto “queryable type” no requiere modificación ni trato especial para servir como datasource de LINQ. • Si los datos orígenes no están en memoria como “queryable type”, el proveedor de LINQ debe representarlo como si estuviera.
  • 13. Operadores más Comunes • Select / SelectMany • Where • Sum / Min / Max / Average / Aggregate • Join / GroupJoin • GroupBy • OrderBy / ThenBy
  • 16. Consulta (SELECT) Obtener aquellos productos de la categoría “Beverages”
  • 17. Actualización(UPDATE) Obtener un producto de la base de datos, actualizar su precio, y guardar los cambios
  • 18. Eliminación(Delete) Borra todos los productos Toy de la base de datos
  • 21. Ventajas SELECT TOP 10 UPPER (c1.Name) FROM Customer c1 WHERE c1.Name LIKE 'A%' AND c1.ID NOT IN ( SELECT TOP 20 c2.ID FROM Customer c2 WHERE c2.Name LIKE 'A%' ORDER BY c2.Name ) ORDER BY c1.Name Aquí tenemos la misma consulta pero en LINQ. var query = from c in db.Customers where c.Name.StartsWith("A") orderby c.Name select c.Name.ToUpper(); var thirdPage = query.Skip(20).Take(10);
  • 22. IQueryable<Customer> GetCustomers (string state, decimal minPurchase) { var query = Customers.AsQueryable(); if (state != null) query = query.Where (c => c.Address.State == "WA"); if (minPurchase != null) query = query.Where (c => c.Purchases.Any (p => p.Price > minPurchase.Value) ); return query; } SELECT [t0].[ID], [t0].[Name], [t0].[AddressID] FROM [Customer] AS [t0] LEFT OUTER JOIN [Address] AS [t1] ON [t1].[ID] = [t0].[AddressID] WHERE (EXISTS( SELECT NULL AS [EMPTY] FROM [Purchase] AS [t2] WHERE ([t2].[Price] > @p0) AND ([t2].[CustomerID] = [t0].[ID]) )) AND ([t1].[State] = @p1) Ventajas
  • 23. Desventajas de LINQ A pesar de su poder, LINQ no deja obsoleto a SQL. Toma más del 95% de la funcionalidad de las queries, pero se seguirá necesitando SQL para: • Queries que busquen máxima optimización. • Queries que involucren seleccionar en tablas temporales y luego consultar esas tablas. • Triggers
  • 24. Conclusiones LINQ nos permite modelar la capa de datos de nuestras aplicaciones de una forma simple y limpia. Una vez que hayamos definido nuestro modelo de datos, podemos realizar consultas, inserciones, actualizaciones y borrados sobre ella de forma fácil y eficiente.
  • 25. Direccionamiento actividades de aprendizaje Actividades: • Revisar el aula virtual • Realizar las actividades y tareas planteadas. Se recomienda describir por ejemplo: • Tomar apuntes esenciales, revisar el material de clases