logging in or signing up 7 Orcas La nueva generacion de Visual Studio Heather Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 157 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: October 24, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: “ORCAS” La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División de desarrollo y Plataforma davidsb@microsoft.comSlide2: ¿Qué hay de nuevo en “Orcas”? Slide3: ¿Qué hay de nuevo en “Orcas”? LINQSlide5: “Your software, our passion”Slide12: “Integrated solutions, not just tools”IDE “ORCAS”: IDE “ORCAS”Slide20: LINQSlide21: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; Expresiones de consultaSlide22: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año }); Expresiones de consulta Slide23: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año }); Expresiones de consulta Métodos extensores Expresiones lambda Inicializadores de objetos Tipos anónimos Inferencia de tipo de variables locales Árboles de expresionesLINQ to Objects: LINQ to ObjectsSlide25: Hoy XmlDocument doc = new XmlDocument(); XmlElement films = doc.CreateElement(“films"); foreach (Film f in Film.Datos) if (f.Género == Género.Drama) { XmlElement elem = doc.CreateElement(“film"); XmlElement n = doc.CreateElement("nombre"); n.InnerText = f.Nombre; elem.AppendChild(n); XmlElement a = doc.CreateElement(“año"); a.InnerText = f.Año; elem.AppendChild(a); films.AppendChild(elem); } doc.AppendChild(films); doc.Save(“DRAMAS.XML”); <films> <film> <nombre>CASABLANCA</nombre> <anno>1942</anno> </film> … </films> Modeloimperativo Orientado al documento Sin consultas integradas Alta exigencia de memoriaSlide26: Con LINQ to XML Sintaxis especial en VB 9.0 XElement films = new XElement(“films", from f in Film.Datos where f.Género == Género.Drama select new XElement(“film", new XElement("nombre", f.Nombre), new XElement(“año", f.Año)) ); Films.Save(“DRAMAS.XML”); Modelo declarativo Orientado a elementos Consultas integradas Más compacto y rápidoLINQ to XML: LINQ to XMLSlide28: Hoy SqlConnection c = new SqlConnection(cadenaCon); c.Open(); SqlCommand cmd = new SqlCommand( @"SELECT c.NombreApellidos FROM Personas WHERE Sexo = @p0“, c); cmd.Parameters.AddWithValue("@p0", sexo); DataReader dr = cmd.ExecuteReader(); while (dr.Read()) { string nombreApellidos = dr.GetString(0); } dr.Close(); Consultas entre comillas Parámetros sin control de tipos estricto Resultados sin control de tipos estricto Sin comprobación del compiladorSlide29: Con LINQ to SQL public class Persona { … } public class FilmsDataContext : DataContext { public Table<Persona> Personas; … } var db = new FilmsDataContext(); var delMismoSexo = from f in db.DBPersonas where f.Sexo == sexo select f.NombreApellidos; Clases que describen los datos Conexiones fuertemente tipadas Consultas integradas Resultados fuertemente tipados Tablas como coleccionesLINQ to SQL: LINQ to SQLSlide32: Mapeado lógico/físico Por defecto, 1:1 con la BB.DD. Modelo de datos basado en ENTIDADES Proveedor de mapeado Entidades, relaciones, herencia Renombrar tablas y campos, crear jerarquías entre tablas, eliminar las “tablas de relación”, etc. Flexibilidad Acceso al proveedor del almacén en caso necesario Slide33: MSDN http://msdn.microsoft.com/data/ref/linq/ MSDN en castellano http://www.microsoft.com/spanish/msdn/articulos/architec/fecha/2007.mspx Especificación de C# 3.0 El proyecto LINQ Operadores de consulta estándar de .NET Acceso a datos de próxima generación Presentación técnica de ADO.NET El Marco de Entidades de ADO.NETSlide34: dotNetManía “Lo que nos traerá Orcas” Novedades en C# 3.0 (Nº 24, marzo de 2006) La tecnología LINQ (Nº 25) VB 9.0 y LINQ (Nº 27) LINQ to XML (Nº 29) LINQ to DataSet (Nº 32) LINQ to SQL (Nº 36, abril de 2007) Serie sobre ADO.NET vNext y LINQ to Entities (próxima aparición) Web de “El Guille” http://www.elguille.info/ You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
7 Orcas La nueva generacion de Visual Studio Heather Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 157 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: October 24, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: “ORCAS” La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor octavio@plainconcepts.com David Salgado Microsoft División de desarrollo y Plataforma davidsb@microsoft.comSlide2: ¿Qué hay de nuevo en “Orcas”? Slide3: ¿Qué hay de nuevo en “Orcas”? LINQSlide5: “Your software, our passion”Slide12: “Integrated solutions, not just tools”IDE “ORCAS”: IDE “ORCAS”Slide20: LINQSlide21: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; Expresiones de consultaSlide22: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año }); Expresiones de consulta Slide23: IEnumerable<Film> dramas = from f in Film.Datos where f.Género == Género.Drama select new { f.Nombre, f.Año }; var dramas = Film.Datos .Where(f => f.Género == Género.Drama) .Select(f => new { f.Nombre, f.Año }); Expresiones de consulta Métodos extensores Expresiones lambda Inicializadores de objetos Tipos anónimos Inferencia de tipo de variables locales Árboles de expresionesLINQ to Objects: LINQ to ObjectsSlide25: Hoy XmlDocument doc = new XmlDocument(); XmlElement films = doc.CreateElement(“films"); foreach (Film f in Film.Datos) if (f.Género == Género.Drama) { XmlElement elem = doc.CreateElement(“film"); XmlElement n = doc.CreateElement("nombre"); n.InnerText = f.Nombre; elem.AppendChild(n); XmlElement a = doc.CreateElement(“año"); a.InnerText = f.Año; elem.AppendChild(a); films.AppendChild(elem); } doc.AppendChild(films); doc.Save(“DRAMAS.XML”); <films> <film> <nombre>CASABLANCA</nombre> <anno>1942</anno> </film> … </films> Modeloimperativo Orientado al documento Sin consultas integradas Alta exigencia de memoriaSlide26: Con LINQ to XML Sintaxis especial en VB 9.0 XElement films = new XElement(“films", from f in Film.Datos where f.Género == Género.Drama select new XElement(“film", new XElement("nombre", f.Nombre), new XElement(“año", f.Año)) ); Films.Save(“DRAMAS.XML”); Modelo declarativo Orientado a elementos Consultas integradas Más compacto y rápidoLINQ to XML: LINQ to XMLSlide28: Hoy SqlConnection c = new SqlConnection(cadenaCon); c.Open(); SqlCommand cmd = new SqlCommand( @"SELECT c.NombreApellidos FROM Personas WHERE Sexo = @p0“, c); cmd.Parameters.AddWithValue("@p0", sexo); DataReader dr = cmd.ExecuteReader(); while (dr.Read()) { string nombreApellidos = dr.GetString(0); } dr.Close(); Consultas entre comillas Parámetros sin control de tipos estricto Resultados sin control de tipos estricto Sin comprobación del compiladorSlide29: Con LINQ to SQL public class Persona { … } public class FilmsDataContext : DataContext { public Table<Persona> Personas; … } var db = new FilmsDataContext(); var delMismoSexo = from f in db.DBPersonas where f.Sexo == sexo select f.NombreApellidos; Clases que describen los datos Conexiones fuertemente tipadas Consultas integradas Resultados fuertemente tipados Tablas como coleccionesLINQ to SQL: LINQ to SQLSlide32: Mapeado lógico/físico Por defecto, 1:1 con la BB.DD. Modelo de datos basado en ENTIDADES Proveedor de mapeado Entidades, relaciones, herencia Renombrar tablas y campos, crear jerarquías entre tablas, eliminar las “tablas de relación”, etc. Flexibilidad Acceso al proveedor del almacén en caso necesario Slide33: MSDN http://msdn.microsoft.com/data/ref/linq/ MSDN en castellano http://www.microsoft.com/spanish/msdn/articulos/architec/fecha/2007.mspx Especificación de C# 3.0 El proyecto LINQ Operadores de consulta estándar de .NET Acceso a datos de próxima generación Presentación técnica de ADO.NET El Marco de Entidades de ADO.NETSlide34: dotNetManía “Lo que nos traerá Orcas” Novedades en C# 3.0 (Nº 24, marzo de 2006) La tecnología LINQ (Nº 25) VB 9.0 y LINQ (Nº 27) LINQ to XML (Nº 29) LINQ to DataSet (Nº 32) LINQ to SQL (Nº 36, abril de 2007) Serie sobre ADO.NET vNext y LINQ to Entities (próxima aparición) Web de “El Guille” http://www.elguille.info/