SlideShare una empresa de Scribd logo
1 de 24
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
Objetivos de Desarrollo Sostenible
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

Productividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerProductividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerJesús Canales Guando
 
El ddl neil tello
El ddl neil telloEl ddl neil tello
El ddl neil telloneil496638
 
Formularios y $ post en PHP
Formularios y $ post en PHPFormularios y $ post en PHP
Formularios y $ post en PHPupresentaciones
 
Proveedor manuel
Proveedor manuelProveedor manuel
Proveedor manuelfanyto
 
Silfredo valdez 28391048
Silfredo valdez 28391048Silfredo valdez 28391048
Silfredo valdez 28391048SilfredoValdez
 
Desarrollo de aplicación
Desarrollo de aplicaciónDesarrollo de aplicación
Desarrollo de aplicacióncarrlosjorge
 
Desarrollo de aplicación bases de datos
Desarrollo de aplicación bases de datosDesarrollo de aplicación bases de datos
Desarrollo de aplicación bases de datoscarrlosjorge
 
Conexión a Bases de Datos Infomix con Visual Basic . Net
Conexión a Bases de Datos Infomix con Visual Basic . NetConexión a Bases de Datos Infomix con Visual Basic . Net
Conexión a Bases de Datos Infomix con Visual Basic . NetAlexandre Texeira Bondelas
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 
Entrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETEntrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETHaaron Gonzalez
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 

La actualidad más candente (15)

13-Unidad 2. Operaciones Linq
 13-Unidad 2. Operaciones Linq 13-Unidad 2. Operaciones Linq
13-Unidad 2. Operaciones Linq
 
Productividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modelerProductividad con oracle sql developer y data modeler
Productividad con oracle sql developer y data modeler
 
El ddl neil tello
El ddl neil telloEl ddl neil tello
El ddl neil tello
 
Formularios y $ post en PHP
Formularios y $ post en PHPFormularios y $ post en PHP
Formularios y $ post en PHP
 
Programación con linq
Programación con linqProgramación con linq
Programación con linq
 
Proveedor manuel
Proveedor manuelProveedor manuel
Proveedor manuel
 
Silfredo valdez 28391048
Silfredo valdez 28391048Silfredo valdez 28391048
Silfredo valdez 28391048
 
Desarrollo de aplicación
Desarrollo de aplicaciónDesarrollo de aplicación
Desarrollo de aplicación
 
Desarrollo de aplicación bases de datos
Desarrollo de aplicación bases de datosDesarrollo de aplicación bases de datos
Desarrollo de aplicación bases de datos
 
Ado.Net
Ado.NetAdo.Net
Ado.Net
 
Conexión a Bases de Datos Infomix con Visual Basic . Net
Conexión a Bases de Datos Infomix con Visual Basic . NetConexión a Bases de Datos Infomix con Visual Basic . Net
Conexión a Bases de Datos Infomix con Visual Basic . Net
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
Codeigniter101
Codeigniter101Codeigniter101
Codeigniter101
 
Entrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NETEntrenamiento en Acceso a Datos con ASP.NET
Entrenamiento en Acceso a Datos con ASP.NET
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 

Similar a Plataformas de Desarrollo 1: LINQ y aplicaciones especiales

Similar a Plataformas de Desarrollo 1: LINQ y aplicaciones especiales (20)

S6-PD1.pptx
S6-PD1.pptxS6-PD1.pptx
S6-PD1.pptx
 
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
 
Temario
Temario Temario
Temario
 
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
 
DAM-S5.pptx
DAM-S5.pptxDAM-S5.pptx
DAM-S5.pptx
 
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
 
APLICACION DE COMANDOS DDL
APLICACION DE COMANDOS DDLAPLICACION DE COMANDOS DDL
APLICACION DE COMANDOS DDL
 
Plantilla
PlantillaPlantilla
Plantilla
 
Dpss u3 a2_dapb
Dpss u3 a2_dapbDpss u3 a2_dapb
Dpss u3 a2_dapb
 
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)
 
Ejemplo Linq To SQL
Ejemplo Linq To SQLEjemplo Linq To SQL
Ejemplo Linq To SQL
 
POO
POOPOO
POO
 
plantilla icontec
plantilla icontecplantilla icontec
plantilla icontec
 
Kairubys rodriguez
Kairubys rodriguezKairubys rodriguez
Kairubys rodriguez
 
#Cappacitate2015 Bogota
#Cappacitate2015 Bogota#Cappacitate2015 Bogota
#Cappacitate2015 Bogota
 
Plantilla con-normas-icontec1
Plantilla con-normas-icontec1Plantilla con-normas-icontec1
Plantilla con-normas-icontec1
 
Naranjo
NaranjoNaranjo
Naranjo
 
Atix20
Atix20Atix20
Atix20
 

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

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
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.ariannytrading
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
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
 
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
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
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
 
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
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
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
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
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
 

Último (20)

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
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
SOLICITUD-PARA-LOS-EGRESADOS-UNEFA-2022.
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
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
 
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
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
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
 
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
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
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
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.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
 

Plataformas de Desarrollo 1: LINQ y aplicaciones especiales

  • 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
  • 5. 3.2 LINQ y aplicaciones especiales
  • 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. 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.
  • 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. Operadoresmá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 > 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
  • 22. 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
  • 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.