SlideShare una empresa de Scribd logo
1 de 31
Nuevas Formas de Pensar en Datos con LINQ y Visual Studio 2008 Julio Casal Software Developer John Galt Solutions
Qué Veremos Hoy? La filosofía de LINQ Sintaxis para queries LINQ Queries sobre colección en memory Acceso a bases de datos Integración XML
Nivel 200 Experiencia Previa C# ó VB Intermedio Sintaxis para queries SQL Habilidades XML intermedias
Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
Data…es nuestro trabajo Consultar y manipulardatossiempre ha sidouna parte fundamental de nuestrostrabajoscomodesarrolladores El formato de los datos cambia, perolasnecesidades clave son lasmismas
USE empl  REPLACE ALL salary WITH (salary * 1.1) FOR supervises > 0   LIST ALL fname, lname, salary FOR Supervises > 0 Data Access(DBASE 1980s) ,[object Object]
Teníalimitaciones, pero era útil,[object Object]
Mapeo Objecto / Relacional(en los últimos años)   public class Employee {       public string FirstName;       public string LastName;       public double Salaray;   } IList employees = session.CreateCriteria(typeof(Employee))                                .Add(Expression.Gt(“supervises", 0)                             .List();  foreach(Employee employee in employees) {       string fname = employee.FirstName;      string lname = employee.LastName;      double salary = employee.Salary;  } ,[object Object]
Integraciónmásclara de reglas de negocio y validaciones,[object Object]
LINQ Operaciones de Consultas, Asignación y Transformaciónpara .NET Convierte a la consulta de datos un concepto de programación fundamental Trabaja con todos los tipos y formas de datos Bases de datos relacionales XML Objetos Planos Trabaja con todos los lenguajes .NET Las nuevas versiones de VB y C# tienen soporte integrado en el lenguaje
Queries integrados en el código(C#/VB) Qué es LINQ? Tipos fuertes Beneficios del IntelliSense Colecciones de objects Datosrelacionales XML Queries Unificados Language INtegratedQueries
Términos y Características Inferencia de Tipos TiposAnónimos Expresiones Lambda Métodos de Extensión Dos sintaxispara queries QueryExpression MethodQueries
QueryExpressions SELECT c.FullName, Age = getdate() – c.BirthDay FROM Customers c WHERE c.BirthDay = getdate() ORDER BY c.BirthDay var todaysBirthday = 	from c in db.Customers 	where c.BirthDay == DateTime.Today  	orderby c.BirthDay 	select new { 		c.FullName, Age = DateTime.Today – c.BirthDay };
demo De C# 2.0 a  LINQ
Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
LINQ to SQL Generación implícita de queries Generación explícita de queries Soporte completo a CRUD
Mapeando los Datos Filas como objetos de negocio Tablas como colecciones Bases de Datos como DataContext Base de Datos DataContext Tabla Colección
demo ExplorandoLINQ to SQL
Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
Beneficios de LINQ to XML No hay barrera conceptual XML vs. code Aprovecha experiencia con DOM Facilita los requerimientos de compatibilidad
Objetos de Ayuda LINQ to XML XDocument XNamespace XComment XElement XAttribute
demo Trabajando con Datos XML
Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
Nuevas Características de VB Dim x = 5 Variables locales implícitas Métodos de extensión Inicializadores de objetos Tipos anónimos Expresiones de Queries <Extension()> _  Sub Rand (col As IEnumerable) New Point With { .x = 1, .y = 2 } New With { c.Name, c.Phone } From … Where … Select
Beneficios de VB con LINQ to XML Literales XML Dim doc = <root><results/></root> If doc.<results>.Count() > 5 Then … Console.WriteLine(<book>.@name) Propiedades XML Namespaces Importados Imports <xmlns:ns=http://testuri.org”>
demo Trabajando con XML, VB y ASP.NET
Resumen LINQ habilitaacceso a datosdeclarativo Los queries son ahora parte del lenguaje Unifica acceso a datos entre orígenes de datos
Publicaciones relacionadas con LINQ Más en: www.microsoft.com/learning/books
Quieres saber más? Centro de información de LINQ http://msdn.microsoft.com/data/ref/linq El blog másdidácticosobre LINQ y VS 2008 http://weblogs.asp.net/scottgu Blogs de los creadores http://blogs.msdn.com/adonet http://blogs.msdn.com/data Mi blog http://msguayaquil.com/blogs/julioc
Preguntas?
Nuevas formas de pensar en datos con LINQ y Visual Studio 2008

Más contenido relacionado

La actualidad más candente

Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Introducción a Visual Basic
Introducción a Visual BasicIntroducción a Visual Basic
Introducción a Visual Basickattybe
 
Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Tonymx
 
Arquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaArquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaJavier Vélez Reyes
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus PartySorey García
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexBiz Partner
 
Aspnet Futures Msdn
Aspnet Futures MsdnAspnet Futures Msdn
Aspnet Futures MsdnGonzalo C.
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2Roger CARHUATOCTO
 
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)Roger CARHUATOCTO
 

La actualidad más candente (18)

Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Introducción a Visual Basic
Introducción a Visual BasicIntroducción a Visual Basic
Introducción a Visual Basic
 
Santiago
SantiagoSantiago
Santiago
 
Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008Lanzamiento Visual Studio 2008
Lanzamiento Visual Studio 2008
 
Cruz soriano
Cruz sorianoCruz soriano
Cruz soriano
 
Cruz soriano
Cruz sorianoCruz soriano
Cruz soriano
 
Arquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la ExperienciaArquitecturas Dirigidas por la Experiencia
Arquitecturas Dirigidas por la Experiencia
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Santiago
SantiagoSantiago
Santiago
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus Party
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 
Bisual basic 6,0
Bisual basic 6,0Bisual basic 6,0
Bisual basic 6,0
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
 
Aspnet Futures Msdn
Aspnet Futures MsdnAspnet Futures Msdn
Aspnet Futures Msdn
 
CodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business IntelligenceCodeCamp 2010 | FBI- Fácil Business Intelligence
CodeCamp 2010 | FBI- Fácil Business Intelligence
 
[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2[Webinar] SOA ágil con WSO2
[Webinar] SOA ágil con WSO2
 
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
Orquestando Procesos de Negocio de manera ágil con Bonita BPM (v1.0)
 

Destacado

SerializacióN Part 2
SerializacióN Part 2SerializacióN Part 2
SerializacióN Part 2kayrambal
 
Windows7 Security
Windows7 SecurityWindows7 Security
Windows7 SecurityTudor Galos
 
IntroduccióN A Visual Studio 2008
IntroduccióN A Visual Studio 2008IntroduccióN A Visual Studio 2008
IntroduccióN A Visual Studio 2008Christian Strevel
 
Linq En Visual Basic 2008
Linq En Visual Basic 2008Linq En Visual Basic 2008
Linq En Visual Basic 2008kayrambal
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsYaniv Pessach
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilSorey García
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET FrameworkSorey García
 
Introduccion a LINQ
Introduccion a LINQIntroduccion a LINQ
Introduccion a LINQTonymx
 

Destacado (14)

Clase 5
Clase 5Clase 5
Clase 5
 
SerializacióN Part 2
SerializacióN Part 2SerializacióN Part 2
SerializacióN Part 2
 
Windows7 Security
Windows7 SecurityWindows7 Security
Windows7 Security
 
Propueta educativa de robotica
Propueta educativa de roboticaPropueta educativa de robotica
Propueta educativa de robotica
 
IntroduccióN A Visual Studio 2008
IntroduccióN A Visual Studio 2008IntroduccióN A Visual Studio 2008
IntroduccióN A Visual Studio 2008
 
Linq En Visual Basic 2008
Linq En Visual Basic 2008Linq En Visual Basic 2008
Linq En Visual Basic 2008
 
SOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basicsSOA and WCF (Windows Communication Foundation) basics
SOA and WCF (Windows Communication Foundation) basics
 
Framework .NET 3.5 10 Linq
Framework .NET 3.5 10 LinqFramework .NET 3.5 10 Linq
Framework .NET 3.5 10 Linq
 
Analisis propuestageneral
Analisis propuestageneralAnalisis propuestageneral
Analisis propuestageneral
 
Inicio de Programación VB .Net
Inicio de Programación VB .NetInicio de Programación VB .Net
Inicio de Programación VB .Net
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvil
 
Entendiendo el .NET Framework
Entendiendo el .NET FrameworkEntendiendo el .NET Framework
Entendiendo el .NET Framework
 
Introduccion a LINQ
Introduccion a LINQIntroduccion a LINQ
Introduccion a LINQ
 

Similar a Nuevas formas de pensar en datos con LINQ y Visual Studio 2008

Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .NetJorge Ercoli
 
Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016jorge Muchaypiña
 
Introduccion A Linq 1205779028184546 5
Introduccion A Linq 1205779028184546 5Introduccion A Linq 1205779028184546 5
Introduccion A Linq 1205779028184546 5google
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...SolidQ
 
ADO NET Entity FrameWork
ADO NET Entity FrameWorkADO NET Entity FrameWork
ADO NET Entity FrameWorkmascodigo
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptxLuis Beltran
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...SemanticWebBuilder
 
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOS
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOSBD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOS
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOSguestfd36060
 
Sql server 2005_envio
Sql server 2005_envioSql server 2005_envio
Sql server 2005_enviopersolato
 
Linq con visual studio 2008
Linq con visual studio 2008Linq con visual studio 2008
Linq con visual studio 2008omicx
 
Linq to sql 3
Linq to sql 3Linq to sql 3
Linq to sql 3jcfarit
 
Integración de Datos sin límites con Pentaho
Integración de Datos sin límites con PentahoIntegración de Datos sin límites con Pentaho
Integración de Datos sin límites con PentahoDatalytics
 
Repoteadores De Mysql2
Repoteadores De Mysql2Repoteadores De Mysql2
Repoteadores De Mysql2alinacarrion
 
Repoteadores De Mysql2
Repoteadores De Mysql2Repoteadores De Mysql2
Repoteadores De Mysql2alinacarrion
 
Sql server integration services novedades y migracion
Sql server integration services   novedades y migracionSql server integration services   novedades y migracion
Sql server integration services novedades y migracionSalvador Ramos
 
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.pptxLuis Fernando Aguas Bucheli
 
Arquitecturas y posicionamientos tecnológicos
Arquitecturas y posicionamientos tecnológicosArquitecturas y posicionamientos tecnológicos
Arquitecturas y posicionamientos tecnológicosIbon Landa
 

Similar a Nuevas formas de pensar en datos con LINQ y Visual Studio 2008 (20)

Desarrollo en Capas con .Net
Desarrollo en Capas con .NetDesarrollo en Capas con .Net
Desarrollo en Capas con .Net
 
Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016
 
Introduccion A Linq 1205779028184546 5
Introduccion A Linq 1205779028184546 5Introduccion A Linq 1205779028184546 5
Introduccion A Linq 1205779028184546 5
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
 
ADO NET Entity FrameWork
ADO NET Entity FrameWorkADO NET Entity FrameWork
ADO NET Entity FrameWork
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
 
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOS
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOSBD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOS
BD_EQ1_INVESTIGACION_APORTACION_SQLSERVER2008EXPRESS_TODOS
 
13-Unidad 2. Operaciones Linq
 13-Unidad 2. Operaciones Linq 13-Unidad 2. Operaciones Linq
13-Unidad 2. Operaciones Linq
 
S4-PD1-2.2 EF
S4-PD1-2.2 EFS4-PD1-2.2 EF
S4-PD1-2.2 EF
 
Sql server 2005_envio
Sql server 2005_envioSql server 2005_envio
Sql server 2005_envio
 
Linq con visual studio 2008
Linq con visual studio 2008Linq con visual studio 2008
Linq con visual studio 2008
 
Linq to sql 3
Linq to sql 3Linq to sql 3
Linq to sql 3
 
Integración de Datos sin límites con Pentaho
Integración de Datos sin límites con PentahoIntegración de Datos sin límites con Pentaho
Integración de Datos sin límites con Pentaho
 
Repoteadores De Mysql2
Repoteadores De Mysql2Repoteadores De Mysql2
Repoteadores De Mysql2
 
Repoteadores De Mysql2
Repoteadores De Mysql2Repoteadores De Mysql2
Repoteadores De Mysql2
 
Sql server integration services novedades y migracion
Sql server integration services   novedades y migracionSql server integration services   novedades y migracion
Sql server integration services novedades y migracion
 
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
 
Arquitecturas y posicionamientos tecnológicos
Arquitecturas y posicionamientos tecnológicosArquitecturas y posicionamientos tecnológicos
Arquitecturas y posicionamientos tecnológicos
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 

Más de juliocasal

Productividad en el Equipo de Desarrollo de Software
Productividad en el Equipo de Desarrollo de SoftwareProductividad en el Equipo de Desarrollo de Software
Productividad en el Equipo de Desarrollo de Softwarejuliocasal
 
Expression Studio en Acción
Expression Studio en AcciónExpression Studio en Acción
Expression Studio en Acciónjuliocasal
 
Escribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team SystemEscribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team Systemjuliocasal
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
Creando Interfaces Espectaculares
Creando Interfaces EspectacularesCreando Interfaces Espectaculares
Creando Interfaces Espectacularesjuliocasal
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patronesjuliocasal
 
Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008juliocasal
 
Integrando Nuevas Tecnologías Web
Integrando Nuevas Tecnologías WebIntegrando Nuevas Tecnologías Web
Integrando Nuevas Tecnologías Webjuliocasal
 

Más de juliocasal (8)

Productividad en el Equipo de Desarrollo de Software
Productividad en el Equipo de Desarrollo de SoftwareProductividad en el Equipo de Desarrollo de Software
Productividad en el Equipo de Desarrollo de Software
 
Expression Studio en Acción
Expression Studio en AcciónExpression Studio en Acción
Expression Studio en Acción
 
Escribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team SystemEscribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team System
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
Creando Interfaces Espectaculares
Creando Interfaces EspectacularesCreando Interfaces Espectaculares
Creando Interfaces Espectaculares
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patrones
 
Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008Introducción al Desarrollo para SharePoint con Visual Studio 2008
Introducción al Desarrollo para SharePoint con Visual Studio 2008
 
Integrando Nuevas Tecnologías Web
Integrando Nuevas Tecnologías WebIntegrando Nuevas Tecnologías Web
Integrando Nuevas Tecnologías Web
 

Nuevas formas de pensar en datos con LINQ y Visual Studio 2008

  • 1. Nuevas Formas de Pensar en Datos con LINQ y Visual Studio 2008 Julio Casal Software Developer John Galt Solutions
  • 2. Qué Veremos Hoy? La filosofía de LINQ Sintaxis para queries LINQ Queries sobre colección en memory Acceso a bases de datos Integración XML
  • 3. Nivel 200 Experiencia Previa C# ó VB Intermedio Sintaxis para queries SQL Habilidades XML intermedias
  • 4. Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
  • 5. Data…es nuestro trabajo Consultar y manipulardatossiempre ha sidouna parte fundamental de nuestrostrabajoscomodesarrolladores El formato de los datos cambia, perolasnecesidades clave son lasmismas
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. LINQ Operaciones de Consultas, Asignación y Transformaciónpara .NET Convierte a la consulta de datos un concepto de programación fundamental Trabaja con todos los tipos y formas de datos Bases de datos relacionales XML Objetos Planos Trabaja con todos los lenguajes .NET Las nuevas versiones de VB y C# tienen soporte integrado en el lenguaje
  • 11. Queries integrados en el código(C#/VB) Qué es LINQ? Tipos fuertes Beneficios del IntelliSense Colecciones de objects Datosrelacionales XML Queries Unificados Language INtegratedQueries
  • 12. Términos y Características Inferencia de Tipos TiposAnónimos Expresiones Lambda Métodos de Extensión Dos sintaxispara queries QueryExpression MethodQueries
  • 13. QueryExpressions SELECT c.FullName, Age = getdate() – c.BirthDay FROM Customers c WHERE c.BirthDay = getdate() ORDER BY c.BirthDay var todaysBirthday = from c in db.Customers where c.BirthDay == DateTime.Today orderby c.BirthDay select new { c.FullName, Age = DateTime.Today – c.BirthDay };
  • 14. demo De C# 2.0 a LINQ
  • 15. Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
  • 16. LINQ to SQL Generación implícita de queries Generación explícita de queries Soporte completo a CRUD
  • 17. Mapeando los Datos Filas como objetos de negocio Tablas como colecciones Bases de Datos como DataContext Base de Datos DataContext Tabla Colección
  • 19. Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
  • 20. Beneficios de LINQ to XML No hay barrera conceptual XML vs. code Aprovecha experiencia con DOM Facilita los requerimientos de compatibilidad
  • 21. Objetos de Ayuda LINQ to XML XDocument XNamespace XComment XElement XAttribute
  • 22. demo Trabajando con Datos XML
  • 23. Agenda Acceso a Datos en Evolución Entendiendo LINQ to SQL Entendiendo LINQ to XML Explorando LINQ y XML en VB
  • 24. Nuevas Características de VB Dim x = 5 Variables locales implícitas Métodos de extensión Inicializadores de objetos Tipos anónimos Expresiones de Queries <Extension()> _ Sub Rand (col As IEnumerable) New Point With { .x = 1, .y = 2 } New With { c.Name, c.Phone } From … Where … Select
  • 25. Beneficios de VB con LINQ to XML Literales XML Dim doc = <root><results/></root> If doc.<results>.Count() > 5 Then … Console.WriteLine(<book>.@name) Propiedades XML Namespaces Importados Imports <xmlns:ns=http://testuri.org”>
  • 26. demo Trabajando con XML, VB y ASP.NET
  • 27. Resumen LINQ habilitaacceso a datosdeclarativo Los queries son ahora parte del lenguaje Unifica acceso a datos entre orígenes de datos
  • 28. Publicaciones relacionadas con LINQ Más en: www.microsoft.com/learning/books
  • 29. Quieres saber más? Centro de información de LINQ http://msdn.microsoft.com/data/ref/linq El blog másdidácticosobre LINQ y VS 2008 http://weblogs.asp.net/scottgu Blogs de los creadores http://blogs.msdn.com/adonet http://blogs.msdn.com/data Mi blog http://msguayaquil.com/blogs/julioc