Unai Zorrilla Microsoft MVP Plain Concepts Modelos de Objetos != Modelos Relacionales.

26

Transcript of Unai Zorrilla Microsoft MVP Plain Concepts Modelos de Objetos != Modelos Relacionales.

Unai ZorrillaMicrosoft MVP Plain Concepts

Modelos de Objetos !=

Modelos Relacionales

C# 3.0 VB 9.0 Otros…

LINQ toSQL

LINQ toXML

LINQ toEntities

LINQ toDataSets

LINQ toObjects

Objetos Datos relacionales

<book> <title/> <author/> <year/> <price/></book>

XML

IEnumerable hasta IQueryableModelos conceptuales

Dominios de clasesAbstración del almacenamientoMapeo de modelos relacionales

PIPOCOIPOCOClases prescriptivas

Consistencia del grafo

IEnumerable hasta IQueryableModelos conceptuales

Dominios de clasesAbstración del almacenamientoMapeo de modelos relacionales

PIPOCOIPOCOClases prescriptivas

Consistencia del grafo

IEnumerable => IQueryableImplementada en System.Linq.QueryableBasada en Arboles de ExpressiónSe ‘consulta’ cuando se enumeraIdeal para modelos relacionalesY para almacenes con su propio lenguaje de consulta

IEnumerable hasta IQueryableModelos conceptuales

Dominios de clasesAbstración del almacenamientoMapeo de modelos relacionales

PIPOCOIPOCOClases prescriptivas

Consistencia del grafo

¿Qué es Entity Data Model (EDM)?Vocabulario para describir un modelo conceptual.Definido en distintos espacios

Espacio SAlmacén de datos físico

Espacio CModelo conceptualNuestro Dominio de aplicación

Espacio OClases representando al DominioNuestros IQueryables

PosibilidadesHerencia

Herencia por Tipo Concreto ( TPC )Herencia por Subtipo ( TPT )Herencia por jerarquía (TPH)

Tipos ComplejosEntidades de sólo lecturaFunciones...

¿Solamente un ORM?

Espacio de ObjetosObjetos POCOIPOCO

IEntityWithChangeTrackerIEntityWithKeyIEntityWithRelationShip

Ignorancia de la persistenciaClases Prescriptivas

EntityObject

IEnumerable hasta IQueryableModelos conceptuales

Dominios de clasesAbstración del almacenamientoMapeo de modelos relacionales

PIPOCOIPOCOClases prescriptivas

Consistencia del grafo

ObjectStateManagerResponsable del mantenimiento de las identidades de los objetos.Responsable del control de cambios.Reponsable de la consistencia de los grafos.Punto de entrada a cada una de las entidades y relaciones de las mismas.

ObjectStateEntry

StateManagemen

t

Connectionprovider

MetadataMSL SSDLCSDL

CRUD

Consulta “select ...”

Entidades113

123

3

DML

3’ evento

SaveChanges()

CRUD provider

SQL

DML

A tener en cuentaTenga en cuenta la creación de relaciones.Soluciones en aplicaciones distribuidas.

Contextos cortosSin consistencia del grafoMergeTracking Off

Un solo contexto

Mantenimiento del estado entre capasSin ‘ DiffGram’.

Recursos y más

Y entra en el sorteo de

estos 2 libros

sobre .NET 3.5

Enlaces de InterésEnlaces de Interés

Unai Zorrilla Castro http://www.geeks.ms/blogs/unai

Octavio Hernández Leal

http://www.geeks.ms/blogs/ohernandezPablo Castro - Technical Leadhttp://blogs.msdn.com/pabloDaniel Simmonshttp://blogs.msdn.com/dsimmonsZlatko Michailov http://blogs.msdn.com/esql

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.