SlideShare una empresa de Scribd logo
Mgtr. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Aguaszoft@Outlook.es
CRUD con LINQ
Cuando te encuentres a ti mismo al lado de
la mayoría, es tiempo de parar y
reflexionar
(Mark Twain)
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.
Gracias
Mgtr. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Aguaszoft@Outlook.es

Más contenido relacionado

PDF
Laboratorio 1 Electronica de Potencia
PDF
Cap. 10 barrenas
PDF
Unidad I.pdf
PDF
piping-class
PPTX
BOMBEO ELECTRO SUMERGIBLE - BOMBEO HIDRAULICO TIPO JET TIPO Y PISTON / RODRIG...
PPT
1 principios de barrenas triconicas
PPT
Teoria De Transformadores
PPTX
Produccion 2(clase bes)
Laboratorio 1 Electronica de Potencia
Cap. 10 barrenas
Unidad I.pdf
piping-class
BOMBEO ELECTRO SUMERGIBLE - BOMBEO HIDRAULICO TIPO JET TIPO Y PISTON / RODRIG...
1 principios de barrenas triconicas
Teoria De Transformadores
Produccion 2(clase bes)

La actualidad más candente (20)

PPTX
Bombeo electrosumergible. nemoll
PPTX
Metodo de bombeo electrosumergible y Bombeo mecanico
PDF
22 principios de hidráulica de perforación
DOCX
Sistema de bombeo en la industria petrolera word
PDF
110011972 cementacion-forzada-teoria-y-calculos
PDF
06 barrenas y su selección
PPT
2.3 sistema de circulacion
PPSX
Iso 1219 1, 1219-2 flujo y pre
PPTX
Relación entre corrientes de fase y línea
PDF
Conceptos bombas centrifugas hidrostal
PPT
Diagrama de gantt
PPSX
Bombeo Electrosumergible Bombas Centrifugas
PDF
Capacidad de-resistencia-de-tuberias
PPTX
Bombas triplex
PPTX
GAS lift
PPT
El transformador
PPTX
Componentes del equipo de perforacion
PDF
03 la sarta de perforación
PDF
PPTX
Barrenas Para la Perforación de Pozos Petroleros
Bombeo electrosumergible. nemoll
Metodo de bombeo electrosumergible y Bombeo mecanico
22 principios de hidráulica de perforación
Sistema de bombeo en la industria petrolera word
110011972 cementacion-forzada-teoria-y-calculos
06 barrenas y su selección
2.3 sistema de circulacion
Iso 1219 1, 1219-2 flujo y pre
Relación entre corrientes de fase y línea
Conceptos bombas centrifugas hidrostal
Diagrama de gantt
Bombeo Electrosumergible Bombas Centrifugas
Capacidad de-resistencia-de-tuberias
Bombas triplex
GAS lift
El transformador
Componentes del equipo de perforacion
03 la sarta de perforación
Barrenas Para la Perforación de Pozos Petroleros
Publicidad

Similar a 13-Unidad 2. Operaciones Linq (20)

PPTX
13-Unidad 3: Operaciones LINQ -3.1 Introducción 3.2 LINQ SELECT 3.3 LINQ INSERT
PPTX
Linq con visual studio 2008
PPTX
S8-DAW-2022S1.pptx
PPT
Introduccion A Linq 1205779028184546 5
PPTX
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
PPTX
PPTX
Nuevas formas de pensar en datos con LINQ y Visual Studio 2008
PPT
Introduccion a LINQ
PPTX
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
PPTX
Diseño de aplicaciones
 
PDF
clase 03 - Lenguaje SQL.pdf
PDF
Linq to sql 3
PPTX
Framework .NET 3.5 10 Linq
PDF
Brochure PEA DE24 (1) de la carrera de Sistemas
PPTX
Programación con linq
PPTX
PDF
Manual tutorial-sql
PDF
Downloads%2 ftutorial sql%2fmanual-tutorial-sql
13-Unidad 3: Operaciones LINQ -3.1 Introducción 3.2 LINQ SELECT 3.3 LINQ INSERT
Linq con visual studio 2008
S8-DAW-2022S1.pptx
Introduccion A Linq 1205779028184546 5
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
Nuevas formas de pensar en datos con LINQ y Visual Studio 2008
Introduccion a LINQ
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Diseño de aplicaciones
 
clase 03 - Lenguaje SQL.pdf
Linq to sql 3
Framework .NET 3.5 10 Linq
Brochure PEA DE24 (1) de la carrera de Sistemas
Programación con linq
Manual tutorial-sql
Downloads%2 ftutorial sql%2fmanual-tutorial-sql
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)

PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
DOC
informacion acerca de la crianza tecnificada de cerdos
PPTX
PRESENTACION DIAPOSITIVA PARA UN PROYECTO .pptx
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PDF
LIBRO UNIVERSITARIO INTELIGENCIA ALGORITMICA BN.pdf
PDF
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PDF
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PPTX
Software para la educación instituciones superiores
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PPTX
Introduccion quimica del fuego.ffffffffffpptx
PDF
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
UD3 -Producción, distribución del aire MA.pdf
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PDF
Repaso sobre el Gusano_cogollero y como ataca .pdf
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
informacion acerca de la crianza tecnificada de cerdos
PRESENTACION DIAPOSITIVA PARA UN PROYECTO .pptx
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
LIBRO UNIVERSITARIO INTELIGENCIA ALGORITMICA BN.pdf
SESION 10 SEGURIDAD EN TRABAJOS CON ELECTRICIDAD.pdf
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
357161027-seguridad-industrial-diapositivas-ppt.ppt
Software para la educación instituciones superiores
DEBL Presentación PG 23.pptx [Autoguardado].pptx
Introduccion quimica del fuego.ffffffffffpptx
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
Curso Corto de PLANTA CONCENTRADORA FREEPORT
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
UD3 -Producción, distribución del aire MA.pdf
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
Repaso sobre el Gusano_cogollero y como ataca .pdf
Manual ISO9001_2015_IATF_16949_2016.pptx

13-Unidad 2. Operaciones Linq

  • 1. Mgtr. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Aguaszoft@Outlook.es CRUD con LINQ
  • 2. Cuando te encuentres a ti mismo al lado de la mayoría, es tiempo de parar y reflexionar (Mark Twain)
  • 3. 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.
  • 4. 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.
  • 5. Contenidos •LINQ •LINQ y SQL •Mapping SQL y LINQ •Desventajas de LINQ
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 11. 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.
  • 12. Operadores más Comunes • Select / SelectMany • Where • Sum / Min / Max / Average / Aggregate • Join / GroupJoin • GroupBy • OrderBy / ThenBy
  • 15. Consulta (SELECT) Obtener aquellos productos de la categoría “Beverages”
  • 16. Actualización(UPDATE) Obtener un producto de la base de datos, actualizar su precio, y guardar los cambios
  • 17. Eliminación(Delete) Borra todos los productos Toy de la base de datos
  • 20. 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);
  • 21. 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
  • 22. 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
  • 23. 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.
  • 24. Gracias Mgtr. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Aguaszoft@Outlook.es

Notas del editor

  • #25: Tutorial MVA Emprendimientos con BizSpark y Azure: https://mva.microsoft.com/es-es/training-courses/emprendiendo-con-bizspark-y-microsoft-azure-11151