SlideShare una empresa de Scribd logo
1 de 23
Plataformas de
Desarrollo 1
Tema: 3 Conexiones a Archivos y Base
de Datos
Docente: Mg. Luis Fernando Aguas B
Sé amable, porque toda persona que conoces
está librando una gran batalla
Objetivo
1. Adquirir los conceptos
básicos relacionados con
Visual Studio
2. Reconocer las
características de Visual
Studio
● 3.2 LINQ y aplicaciones
especiales
Contenido
3.2 LINQ y aplicaciones
especiales
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.
LINQy SQL
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.
Mapping SQL y LINQ
ArquitecturaLINQ
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.
Operadoresmás Comunes
• Select / SelectMany
• Where
• Sum / Min / Max / Average / Aggregate
• Join / GroupJoin
• GroupBy
• OrderBy / ThenBy
Ejemplo- Basede Datos
Clase Data Context
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 > minPurc
hase.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
Desventajasde 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
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente

COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPdisenarUniminuto
 
Creación indices y constraints en bases de datos de sql server
Creación indices y constraints en bases de datos de sql serverCreación indices y constraints en bases de datos de sql server
Creación indices y constraints en bases de datos de sql serverHector Bautista Fregoso
 
Actualizacion de datos
Actualizacion de datosActualizacion de datos
Actualizacion de datosGirbelyMendez
 
Creación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerCreación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerZeleneMorita
 

La actualidad más candente (7)

Guia de uso de endnote
Guia de uso de endnoteGuia de uso de endnote
Guia de uso de endnote
 
Indices jose
Indices   joseIndices   jose
Indices jose
 
COMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPPCOMO CREAR UNA BASE DE DATOS EN XAMPP
COMO CREAR UNA BASE DE DATOS EN XAMPP
 
Creación indices y constraints en bases de datos de sql server
Creación indices y constraints en bases de datos de sql serverCreación indices y constraints en bases de datos de sql server
Creación indices y constraints en bases de datos de sql server
 
Indices y constraints
Indices y constraintsIndices y constraints
Indices y constraints
 
Actualizacion de datos
Actualizacion de datosActualizacion de datos
Actualizacion de datos
 
Creación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL ServerCreación de Bases de Datos en SQL Server
Creación de Bases de Datos en SQL Server
 

Similar a Desarrollo de consultas a archivos y bases de datos con LINQ

Similar a Desarrollo de consultas a archivos y bases de datos con LINQ (20)

S6-PD1.pptx
S6-PD1.pptxS6-PD1.pptx
S6-PD1.pptx
 
Temario
Temario Temario
Temario
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Tipos de coneciones
Tipos de conecionesTipos de coneciones
Tipos de coneciones
 
Curso de visual fox pro - Desprotejido para Imprimirlo
Curso de visual fox pro - Desprotejido para ImprimirloCurso de visual fox pro - Desprotejido para Imprimirlo
Curso de visual fox pro - Desprotejido para Imprimirlo
 
POO
POOPOO
POO
 
DAM-S5.pptx
DAM-S5.pptxDAM-S5.pptx
DAM-S5.pptx
 
Dpss u3 a2_dapb
Dpss u3 a2_dapbDpss u3 a2_dapb
Dpss u3 a2_dapb
 
APLICACION DE COMANDOS DDL
APLICACION DE COMANDOS DDLAPLICACION DE COMANDOS DDL
APLICACION DE COMANDOS DDL
 
#Cappacitate2015 Bogota
#Cappacitate2015 Bogota#Cappacitate2015 Bogota
#Cappacitate2015 Bogota
 
Cappacitate Pereira
Cappacitate PereiraCappacitate Pereira
Cappacitate Pereira
 
Atix20
Atix20Atix20
Atix20
 
Plantilla
PlantillaPlantilla
Plantilla
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Principios de estandares abiertos s13
Principios de estandares abiertos s13Principios de estandares abiertos s13
Principios de estandares abiertos s13
 
Kairubys rodriguez
Kairubys rodriguezKairubys rodriguez
Kairubys rodriguez
 
Tutoriales eclipse(2)
Tutoriales eclipse(2)Tutoriales eclipse(2)
Tutoriales eclipse(2)
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaSantiagoSanchez353883
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 

Último (20)

Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
TALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación públicaTALLER PAEC preparatoria directamente de la secretaria de educación pública
TALLER PAEC preparatoria directamente de la secretaria de educación pública
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 

Desarrollo de consultas a archivos y bases de datos con LINQ

  • 1. Plataformas de Desarrollo 1 Tema: 3 Conexiones a Archivos y Base de Datos Docente: Mg. Luis Fernando Aguas B
  • 2. Sé amable, porque toda persona que conoces está librando una gran batalla
  • 3. Objetivo 1. Adquirir los conceptos básicos relacionados con Visual Studio 2. Reconocer las características de Visual Studio ● 3.2 LINQ y aplicaciones especiales Contenido
  • 4. 3.2 LINQ y aplicaciones especiales
  • 5. 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.
  • 6. 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.
  • 7. LINQy SQL 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.
  • 10. 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.
  • 11. Operadoresmás Comunes • Select / SelectMany • Where • Sum / Min / Max / Average / Aggregate • Join / GroupJoin • GroupBy • OrderBy / ThenBy
  • 14. Consulta (SELECT) Obtener aquellos productos de la categoría “Beverages”
  • 15. Actualización(UPDATE) Obtener un producto de la base de datos, actualizar su precio, y guardar los cambios
  • 16. Eliminación(Delete) Borra todos los productos Toy de la base de datos
  • 19. 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);
  • 20. 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 > minPurc hase.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
  • 21. Desventajasde 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
  • 22. 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.