Top Banner
33

Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Jan 03, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 2: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Jose MurilloResponsable Programas Técnicos PartnersDivisión de Desarrollo y Plataforma (DPE)Microsoft Spain

Page 3: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La Plataforma de Acceso a DatosLanguage INtegrated Query (LINQ)

LINQ to Object, DataSets y XMLLINQ to SQL

ADO .NET Entity Framework Entity Data Model (EDM)LINQ to Entities

Modelos de Datos AvanzadosRecursos

Page 4: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 5: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 6: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 7: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Lógica de Negocio

Sistemas Externos

Capa de Datos

PresentaciónModelo

Conceptual (EDM)

EntidadesRelacion

es

Modelo de Objetos

(Datasets/Objetos)EntidadesRelacion

es

Page 8: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La Plataforma de Acceso a DatosLanguage INtegrated Query (LINQ)

LINQ to Object, DataSets y XMLLINQ to SQL

ADO .NET Entity Framework Entity Data Model (EDM)LINQ to EntitiesModelos de Datos Avanzados

Recursos

Page 9: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Lenguaje de consultas únicoDatos == ObjetosFunciona contra objetos, relacional y XML

Page 10: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

.NET Language Integrated Query (LINQ).NET Language Integrated Query (LINQ)LINQ LINQ

to to DataSDataS

etsets

LINQ LINQ to to

SQLSQL

LINQ LINQ to to

EntitieEntitiess

LINQ LINQ to to

XMLXML

LINQ LINQ to to

ObjecObjectsts

C# 3.0C# 3.0

In-MemoryIn-Memory ObjectsObjects RelacionaRelaciona

llEDMEDM

Visual Visual Basic 9.0Basic 9.0 OtrosOtros

<XML<XML>></</

XML>XML>

Page 11: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 12: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Lenguaje de Consulta Integrado - RADVista de la BD fuertemente tipadaExtensibilidad de CódigoSoporte de herenciaSoporta procedimientos almacenadosIncluido e integrado con Visual Studio 2008Limitaciones

Solo soporta la familia SQL ServerNo hay soporte de mapeos complejos (EF)

Page 13: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

AplicaciónAplicación

LINQ to LINQ to SQLSQL

from c in db.Customerswhere c.City == "London"select c.CompanyName

SELECT CompanyNameFROM CustomerWHERE City = 'London'

db.Customers.Add(c1);c2.City = “Seattle";db.Customers.Remove(c3);

INSERT INTO Customer …UPDATE Customer …DELETE FROM Customer …

Page 14: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 15: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La Plataforma de Acceso a DatosLanguage INtegrated Query (LINQ)

LINQ to Object, DataSets y XMLLINQ to SQL

ADO .NET Entity Framework Entity Data Model (EDM)LINQ to EntitiesModelos de Datos Avanzados

Recursos

Page 16: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La siguiente capa del stack de ADO.NETDescribe tus datos usando un modelo conceptual y ADO.NET hará el resto

Herramientas de diseño para el Entity Data ModelMapeo declarativo con la Base de DatosGeneración de clases .NET para las entidades de negocioConsulta utilizando LINQ to Entities y Entity SQLSe encarga de las actualizaciones automáticamente con T-SQL o procedimientos

Actualmente en Beta3

Page 17: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 18: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Entity Data Model (EDM)Vocabulario para describir el esquema del modelo conceptual“Dibuja la aplicación que quieras ver”

EntidadesTipos distintosPropiedades simples o complejas

RelacionesDescribe las relaciones entre las entidadesDeclaradas explícitamente: Nombre y cardinalidad

Page 19: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Espacio SAlmacén o StorageSSDL (Store Squema Definition Language)Tablas, Vistas, SP…Consulta igual que ADO.NET 2.0

Mapeado O-C mediante atributosMapeado O-C mediante atributos

Mapeado C-S mediante esquema MSLMapeado C-S mediante esquema MSL

Page 20: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Espacio CModelo ConceptualCSDL (Conceptual Schema Definition Language)Entidades, AsociacionesEntity Data Provider

EntityConnectionEntityCommandEntityDataReader

E-SQLNecesitamos conocer:

SSDLMSL ( Mapeado entre SSDL y CSDL )

Mapeado O-C mediante atributosMapeado O-C mediante atributos

Mapeado C-S mediante esquema MSLMapeado C-S mediante esquema MSL

Page 21: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Espacio OEspacio superiorNivel de objeto en código.Mapeado con CSDL mediante atributos Con E-SQL

Para consultar usamos ObjectQuery<T>

Con LINQ to Entities

Mapeado O-C mediante atributosMapeado O-C mediante atributos

Mapeado C-S mediante esquema MSLMapeado C-S mediante esquema MSL

Page 22: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Nivel Se Modela Con Contiene Se Consulta Con

Espacio O Código .NET Clases, propiedades …

- ObjectQuery<T> con E- SQL- Sentencias LINQ

Mapeado 1:1 Mediante atributos

Espacio C Conceptual SchemaDefinition Language

Entidades, Asociaciones.. Conjuntos

- EntityProvider utilizando E-SQL

Mapeado mediante MSL

Espacio S Store SchemaDefinition Language

Tablas, Vistas, procedimientos…

- ADO.NET con el proveedor específico

Page 23: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

.NET Language Integrated Query (LINQ).NET Language Integrated Query (LINQ)LINQ LINQ

to to DataSDataS

etsets

LINQ LINQ to to

SQLSQL

LINQ LINQ to to

EntitieEntitiess

LINQ LINQ to to

XMLXML

LINQ LINQ to to

ObjecObjectsts

C# 3.0C# 3.0

In-MemoryIn-Memory ObjectsObjects RelacionaRelaciona

llEDMEDM

Visual Visual Basic 9.0Basic 9.0 OtrosOtros

<XML<XML>></</

XML>XML>

Page 24: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La flexibilidad del modelado y mapeo del EF...con la productividad de LINQRoadmap

Framework in Beta 3Herramientas en CTP

Almacén

.NET Provider

V2.0

Modelo Conceptual

.NET Provider(eSQL)

LINQV3.0

Map

eo

Page 25: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 26: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Tipos complejosPor ejemplo un campo “Dirección”

Herencias por JerarquíaUna tabla física para todos los tipos con un campo discriminador

Herencias por SubTipoUna tabla física por cada tipo en la jerarquía con relaciones 1:1 en el modelo relacional

Herencias por TipoMúltiples tablas para un mismo tipoDos tablas para una misma entidad

Procedimientos Almacenados

Page 27: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.
Page 28: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Ignorancia de la Persistencia (PI)Complete Persistence IgnorancePOCO (Plain Old Code) – Atributos en ClasesIPOCO – Implementación de InterfacesClases Prescriptivas – Herencia de clases base

EF – Actualmente IPOCO y HerenciaMayor rendimiento y servicios base

Futuro EF – Mayor independenciaPOCO con metadatos externos

Otros proveedores además de SQL Server

Page 29: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

La Plataforma de Acceso a DatosLanguage INtegrated Query (LINQ)

LINQ to Object, DataSets y XMLLINQ to SQL

ADO .NET Entity Framework Entity Data Model (EDM)LINQ to EntitiesModelos de Datos Avanzados

Recursos

Page 30: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Recursos

Page 31: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Sistemas Externos

Capa de Datos

Presentación

Lógica de Negocio

Modelo Conceptual

(EDM)Entidade

sRelaciones

Modelo de Objetos

(Datasets/Objetos)EntidadesRelacion

es

Page 32: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

Enlaces de InterésEnlaces de Interés

Data Team site in MSDNhttp://msdn.microsoft.com/dataADO.NET Team bloghttp://blogs.msdn.com/adonetCodePlex ADO.NET Sampleshttp://www.codeplex.com/adonetsamples Carl Perry - Senior Program Manager Leadhttp://blogs.msdn.com/cperryPablo Castro - Technical Leadhttp://blogs.msdn.com/pabloDaniel Simmonshttp://blogs.msdn.com/dsimmonsZlatko Michailov http://blogs.msdn.com/esql

Page 33: Jose Murillo Responsable Programas Técnicos Partners División de Desarrollo y Plataforma (DPE) Microsoft Spain.

“Entity Framework en profundidad”Editorial Krasis

Unai Zorrilla CastroOctavio Hernandez LealEduardo Quintás Serantes

Sesiones RelacionadasLINQ a Fondo – D136 – 26/Feb – 15hEF a Fondo – D137 – 26/Feb – 15hAcelera el Desarrollo con Frameworks – D235 – 27/Feb – 12h30