Cinco Estrellas ADO.NET Entity Framework Estrella Gold.

Slides:



Advertisements
Presentaciones similares
3/24/2017 3:58 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

3/24/2017 4:02 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Desarrollo de una Aplicación Web sobre tecnología Microsoft .NET
Especialista en Business Intelligence Reporting Services SSRS (Sesión 16) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
• SQL Server Analysis Services
• SQL Reporting Services
• SQL Server Analysis Services
Lenguaje de consulta de Hibernate
Entity Framework Desarrollador vs. DBA Enrique Puig Nouselles
ORCAS La nueva generación de Visual Studio Octavio Hernández Plain Concepts Developer Advisor David Salgado Microsoft División.
Características Técnicas
SQL Básico Prof. Nelliud D. Torres.
TALLER DE PROGRAMACIÓN III
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Tecnologias Usadas.Net Framework LINQ WCF Subversion Clickonce Smart Client Deployment SQL Server Compact Edition. Visual Studio Express 2008.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Language Integrated Query Johnny Halife Microsoft Student Ambassador Southworks.
Simulador Redes. Agenda Introducción Características Principales Campos de Acción de la herramienta Arquitectura de la herramienta Tecnologías Usadas.
Isabel Gómez Desarrollo & Plataforma Microsoft Ibérica.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
 Nicolás Padula Core Technologies Consultant  Maximiliano Stibel Core Technologies Consultant.
Consultando Base de Datos con LINQ en C# Richard Jiménez V. Empresas América linqucatec.wordpress.com.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Simulador Redes Nombres etc,,.
Especialista en Business Intelligence Analysis Services SSAS (Sesión 8) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
• SQL Server Integration Services SSIS
Unidad 6. Tema 4. Lenguaje de consultas SQL
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
Structure Query Languaje SQL. Introducción a SQL El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por.
Crear Aplicación Cliente para Conectarse a una Base de Datos.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
Opciones del Package Manager. - Create new package: Me permite crear un nuevo paquete - Write new specification files for all installed, locally generated.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
V 14: Nuevos Procedimientos
Nombre José Francisco Luna Jurado Matricula Asignatura
The .NET Language Integrated Query Framework
SQL: Structured Query Language
Acceso a Bases de datos con ADO.NET
Bienvenidos.
Convenciones de nomenclatura y diseño
Practicando con SQL Server
Presentación de ModelOne
#606 | SANTIAGO 2017 Abril 1, 2017 Santiago, Chile #sqlsatSantiago.
SQL: Structured Query Language
BASES DE DATOS.
The .NET Language Integrated Query Framework
Structure Query Languaje
SQL: structured Query Language
Conectividad de Bases de Datos
SQL Lenguaje de Consulta Estructurado
Acceso a datos con ADO.NET
La replicación es una buena solución al problema de mover datos entre un servidor central y clientes que sólo se conectan en determinadas ocasiones. La.
Tema 1 El entorno de desarrollo de C#
Base de Datos - II . Unidad 1 -SQL.
Structure Query Languaje
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Implementación de aplicaciones
Best Practice Instalacion de motores SQL.
Características Generales y Entornos de Desarrollo
Tema 1 El entorno de desarrollo de C#
Nuevas Características de SQL Server 2016
Integration Services.
Servidor de Reportes basado en Tecnología Java y XML
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
CC Bases de Datos Otoño Clase 5: El Cálculo Relacional + SQL (I)
Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES.
Acceso a bases de datos ADO.NET
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Taller de Bases de Datos Ingeniería en Sistemas Computacionales M. en I.S.C Mariana Carolyn Cruz Mendoza Por Alexis Orlando Rebollar Lopez.
Transcripción de la presentación:

Cinco Estrellas ADO.NET Entity Framework Estrella Gold

Agenda Introducción a ADO.NET Entity Framework Arquitectura de ADO.NET Entity Framework Niveles de Abstracción ▫Conceptual Layer Schema Language (CLSL) ▫Mapping Schema Language (MSL) ▫Store Layer Schema Language (SLSL) Mappings ▫Tablas Multiples ▫Herencia Programando con Entidades ▫EntityClient ▫Object Services ▫LINQ to Entities Demo Referencias

Introduccion Instalación ▫Make sure that you have supported versons of Visual Studio 2008 RTM sucessfully installed on the machine, if not you could Download and install trial or Express editions of Visual Studio 2008 RTM from Visual Studio 2008 Portal (and reboot the machine if prompted). Note: Microsoft.NET Framework 3.5 is included in the Visual Studio 2008 RTM installationVisual Studio 2008 Portal ▫Bajar e instalar el XML Editor QFE.XML Editor QFE ▫Bajar e instalar el ADO.NET Entity Framework Beta 3.ADO.NET Entity Framework Beta 3 ▫Download and run the ADO.Net Entity Framework Tools Dec 07 CTP for 32-bit versions of Windows and follow the steps in the setup wizardADO.Net Entity Framework Tools Dec 07 CTP ▫Bajar el ADO.Net Entity Framework Tools Dec 07 Community Technology Preview del sitio de descarga de Microsoft Requerimientos de sistema ▫Sistemas operativos soportados: Windows Server 2003; Windows Vista; Windows XP Service Pack 2 (solo versiones en ingles de Windows Server 2003; Windows Vista y Windows XP Service Pack 2) ▫Ediciones de Visual Studio 2008 soportadas: Standard, Professional, Team Edition, and Express editions (C#, VB and Visual Web Developer). ▫Tipos de proyectos soportados: ASP.NET website, ASP.NET web application, Console, WinForms, y Librerías. ▫Lenguajes.NET soportados: C# and Visual Basic.

Introducción a ADO.NET Entity Framework class DataAccess { static void GetNewOrders(DateTime date, int qty) { using (SqlConnection con = new SqlConnection(Settings.Default.NWDB)) { con.Open(); SqlCommand cmd = con.CreateCommand(); cmd.CommandText o.OrderDate, o.OrderID, SUM(d.Quantity) as Total " + "FROM Orders AS o LEFT JOIN [Order Details] AS d ON o.OrderID = d.OrderID " + " WHERE o.OrderDate GROUP BY o.OrderID HAVING Total >= 1000"; date); DbDataReader r = cmd.ExecuteReader(); while (r.Read()) { Console.WriteLine("{0:d}:\t{1}:\t{2}", r["OrderDate"], r["OrderID"], r["Total"]); } Las consultas se expresan mediante cadenas de caracteres opacas para el lenguaje de programación. La consulta incluye un LEFT JOIN necesario para reunir las filas de las tablas de pedidos y detalles de pedidos, y no está directamente relacionada con la petición de negocio. Los resultados se devuelven en registros de datos sin tipos.

class DataAccess { static void GetNewOrders(DateTime date, int qty) { using (EntityConnection con = new EntityConnection("Name=NorthwindEntities")) { con.Open(); EntityCommand cmd = con.CreateCommand(); cmd.CommandText o.OrderDate, o.OrderId, o.Total FROM " + "(SELECT o.OrderId, SUM(o.OrderDetails.Quantity) AS Total, FROM Orders " + "AS o WHERE o.OrderDate AS o WHERE o.Total >= 1000"; date); DbDataReader r = cmd.ExecuteReader(); while (r.Read()) { Console.WriteLine("{0:d}:\t{1}:\t{2}", r["OrderDate"], r["OrderID"], r["Total"]); } } } } Esta variante del código anterior (que usa el nuevo proveedor EntityClient) permite un patrón similar, pero accediendo a nivel de la capa conceptual. Introducción a ADO.NET Entity Framework

class DataAccess { static void GetNewOrders(DateTime date, int qty) { using (NorthWindDB nw = new NorthWindDB()) { var orders = from o in nw.Orders where o.OrderDate > date select new {o.orderID, o.OrderDate, Total=o.OrderLines.Sum(l => l.Quantity)}; foreach (SalesOrder o in orders) { Console.WriteLine("{0:d}\t{1}\t{2}", o.OrderDate, o.OrderId, o.Total); } } } } Esta variante (que usa LINQ to Entity) permite mantenerse en la capa conceptual y adicionalmente aprovechar las mejoras en el lenguaje C#. Introducción a ADO.NET Entity Framework

Problema: desajustes de impedancia entre las aplicaciones y las bases de datos relacionales. Solución: elevar el nivel de abstracción del nivel lógico (relacional) al conceptual (de entidad) a traves de … ▫… un modelo de Datos de Entidades (Entity Data Model - EDM) ▫… un lenguaje de consultas para EDM ▫… un motor de mapeado completo que traduce del nivel conceptual al lógico (relacional) ▫… y un conjunto de herramientas guiadas por modelos que ayudan a crear los transformadores entidad-objeto, objeto-xml y entidad-xml. La implementación de Microsoft de todos estos servicios se denomina ADO.NET Entity Framework.

Componentes de ADO.NET Entity Framework Un modelo de Datos de Entidades (Entity Data Model - EDM). Un lenguaje que describe el esquema conceptual (CSDL). Un lenguaje de mapeado de esquema lógico a conceptual (MSL). Un lenguaje que describe el esquema lógico (SSDL). Un motor de mapeado completo que traduce del nivel conceptual al lógico (relacional). Un lenguaje de consultas denominado eSQL, similar a SQL, pero con soporte para objetos/entidades. Tres modos de acceso a datos a traves de la capa de entidades conceptuales: ▫Un proveedor de acceso a datos denominado EntityClient. ▫Un modelo de objetos denominado Object Services. ▫Soporte para consultas vía LINQ (LINQ to Entity). Extensiones para Visual Studio 2005 (editores, plantillas, etc.).

Arquitectura de ADO.NET Entity Framework Base de Datos relacional Soporte para consultas vía LINQ denominado LINQ to Entities Un modelo de objetos para acceder a la capa conceptual Un objeto para generar consultas dentro del modelo Object Services Lenguaje denominado eSQL o Entity SQL semejante a SQL pero con capacidades adicionales Niveles de abstracción Nivel conceptual descrito por un lenguaje denominado Conceptual Schema Definition Language (CSDL) Un lenguaje de mapeado de esquema lógico a esquema conceptual (MSL) Nivel Lógico descrito por un lenguaje denominado Store Schema Definition Language (SSDL) Proveedor de acceso a datos semejante a SqlClient

Niveles de Abstracción Nivel de Abstracción Descripción Conceptual Mapping Lógico Conceptual Schema Data Language (CSDL) Modelo para uso desde la aplicación Mapping Schema Language (MSL) Transformación de modelo de base de datos a modelo conceptual Store Schema Data Language (SSDL) Modelo de Base de Datos Relacional

Clases OO Entity Data Model Entity Data Model Schema Database Objects Schema C-S SSDLCSDL Presentación (Forms/Reports) Servicios Clases OO Modelo ConceptualModelo Lógico Map Base de Datos Relacional

3.Seleccionar la conexión como muestra la figura. 4.En este momento puede crear un nombre que sera usado como string de conexión en el archivo config, asi como para nombrar la clase principal de acceso a las entidades que estamos creando, por ejemplo: "NWEntities.“ 5.En la última página, vemos las tables, vistas, o procedimientos almacenados que queremos incluir en el EDM. Para finalizar, el asistente crea el modelo en un archivo EDMX y code-behind asociado. Creando un Entity Data Model 2.Seleccione la opción de crear un EDM a partir de una base de datos existente. 1.En Visual Studio, en un proyecto agregar un nuevo item de tipo "ADO.NET Entity Data Model".

Creando un Entity Data Model

Archivos EDMX El archivo EDMX contiene la definición del modelo conceptual, del mapeo y del modelo lógico. Veamos en detalle su contenido:

Archivos EDMX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Archivos EDMX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Archivos EDMX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Archivos EDMX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Archivos EDMX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Archivos EDMX

Programando con Entidades 1.En Visual Studio 2008 crear un nuevo proyecto de cualquier tipo. 2.Agregar un nuevo ítem al proyecto de tipo ADO.NET Entity Data Model como vimos antes para generar el EDM (el motor crea una clase para cada objeto seleccionado y crea los mapeos correspondientes). 3.Modificar manualmente en la ventana “Mapping Details” los mapeos (herencia, tablas múltiples, cambio de nombres, etc.) 4.Usar los objetos creados usando uno de los 3 métodos predefinidos: 1.EntityClient 2.Object Services 3.LINQ to Entity

Programando con EntityClient... string city = “London”; String sql = “SELECT VALUE c FROM NWEntities.Customers AS c WHERE c.City using (EntityConnection cn = new EntityConnection(“Name=NorthwindEntities”)) { cn.Open(); EntityCommand cmd = cn.CreateCommand(); cmd.CommandText = sql; cmd.Parameters.AddWithValue(“city”, city); DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess); while (rdr.Read()) { Console.WriteLine(rdr[“CompanyName”].ToString()); } rdr.Close(); }...

Programando con Object Services... string city = “London”; string sql = “SELECT VALUE c FROM Customers AS c WHERE c.City ObjectParameter par = new ObjectParameter(“city”, city); ObjectQuery query = NWContext.CreateQuery (sql, par); foreach (Customers c in query) { Console.WriteLine(c.CompanyName); }...

Programando con LINQ to Entity... NWEntities db = new NWEntities(); using (db) { var q = from c in db.Customers where c.City == “London” select c; this.gridView1.DataSource = q; this.gridView1.DataBind(); }...

Demo

Referencias Chen, Peter Pin-Shan. The Entity-Relationship Model—toward a unified view of data, ACM Transactions on Database Systems, Vol. 1, Nº 1, marzo de 1976, pp Lenguaje Unificado de Modelado. The Entity Data Model. ADO.NET Technical Preview, mayo 4 de eSQL: An Entity SQL Language, ADO.NET Technical Preview, mayo de ADO.NET The Entity Framework Architecture. ADO.NET Technical Preview, mayo 4 de ADO.NET Tech Preview Overview, mayo 4 de 2006.