Posts destacados

Nuevo libro de desarrollo para Windows 8 y Windows Phone 8Nuevo libro de desarrollo para Windows 8 y Windows... Desde hace tiempo, estoy un poco alejado del mundanal ruido de blogs, twitter y demás. La razón no ha sido otra que hacer posible un deseo que tenia desde hace mucho tiempo,...

Read more

Preparándonos para el #MegathonW8 y II – Instalando las herramientas de desarrollo.Preparándonos para el #MegathonW8 y II –... Una vez que ya tenemos nuestro flamante Windows 8 instalado en nuestro disco duro virtual, según los pasos del primer capitulo de esta guía. Lo que debemos de hacer es instalarnos...

Read more

Preparándonos para el #MegathonW8 y I Instalación de Windows 8 en un VHDPreparándonos para el #MegathonW8 y I Instalación... Este es el primer post de una serie de ellos cuya intención es facilitar a los asistentes al megathon que se celebrara en breve, las instrucciones necesarias para conocer...

Read more

Beca para el Megathon Windows 8Beca para el Megathon Windows 8 Como seguramente todos ya sabréis, los próximos días 7, 8 y 9 de Septiembre se celebrara en varias ciudades españolas al mismo tiempo un hackathon sobre desarrollo para...

Read more

[OFFTOPIC] Oferta de trabajo.[OFFTOPIC] Oferta de trabajo. Madre mía, hasta ahora realmente no me había dado cuenta de lo abandonado que tengo mi blog, como pasa el tiempo de rápido por dios… Demasiadas cosas a hacer tanto dentro...

Read more

Windows Phone y .NET Rss

SQL Ce en Windows Phone “Mango”– Creación visual de tablas

Posteado el : 03-08-2011 | Por : tecnologia | En : Windows Phone 7

0

¿Pero como que creación visual de tablas?, si se nos ha dicho que no, que debemos de picarnos todo el mapeo de nuestras bases de datos para trabajar con el DataContext a mano. Quizás alguna que otra herramienta podría ayudarnos pero poca cosa mas, siempre dependiendo de una base de datos ya existente. ¿No es así?

Pues no, os engañaron, bueno vale: nos engañaron.

Vamos a darles a los chicos de desarrollo de Windows Phone, el margen de la duda y pongamos que simplemente no nos lo han contado así para no liarnos y para no pensar que las cosas están un poquito a medias. Si en el fondo son chicos majos.

Pues SI, si que se puede y además de la manera mas tonta, quizás es que nadie lo ha probado, pero bueno yo creo que es un pequeño truco o apaño, pero mejor que picarnos a mano todo nuestro mapeo, para mi es mas que suficiente.

MapeoDbml1Para ello simplemente creare una aplicación mínima, y mostrare como se tiene que hacer: Creamos nuestra solución en la cual estará incluido obviamente nuestro proyecto de “Windows Phone Application”, a parte de esto crearemos simplemente para apoyarnos en la herramienta, dentro de nuestra solución (no es esto obligatorio) una biblioteca de clases.

Una vez que tenemos este esquema montado, procedemos a crear un nuevo elemento del tipo “Clases de LINQ to SQL”, fichero del tipo “.dbml” en nuestro proyecto de biblioteca de clases. Una vez creado este elemento procedemos a crear las clases de forma visual en nuestro “Object Relational Designer”.

En este ejemplo crearemos dos clases (Tablas) con una serie de propiedades (Columnas o campos) cada una de ellas. Así mismo también crearemos una asociación entre ambas y una clave secundaria en una de ellas para comprobar que mas o menos toda la funcionalidad que nos permite LINQ to SQL en nuestro Windows Phone, la podemos mapear de forma visual desde aquí. El esquema o mapeo de datos quedaría de la siguiente manera:

MapeoDbml2

Una vez realizado el mapeo de forma visual, debemos de fijarnos que junto a nuestro fichero original “.dbml”, existen 2 ficheros mas, el que define el layout del diseñador y el que nos interesa, el fichero con extensión “.designer.cs”. Este es el fichero que contiene todo el mapeo de datos que hemos creado anteriormente de forma visual y es el fichero que vamos a agregar a nuestro proyecto de “Windows Phone”.

Una vez añadido a nuestro proyecto “principal”, simplemente quitaremos un par de constructores que crea por defecto Visual Studio en el DataContext, que por otra parte son los dos mismos constructores que deberemos de quitar si utilizamos la herramienta SQLMetal para crear nuestro mapeo de datos. Estos constructores son los que nos solicita como parámetros de entrada los objetos del tipo “System.Data.IDbConnection”.

MapeoDbml3

No deberemos de olvidarnos de agregar la referencia al ensamblado “System.Data.LINQ”, si queremos que todo esto nos funcione.

Punto y final, ya tenemos nuestro mapeo de datos terminado. Ahora a crear la base de datos y trabajar con ella. La única pega, pues que cada vez que queramos modificar nuestra base de datos deberemos de volver a importar nuestro fichero “.designer.cs” y volver a quitar los dos constructores comentados. Que es eso comparado con el trabajo que llevaría mapear a mano una base de datos nueva que sea un poco compleja.

Y para muestra un botón, aquí os dejo una captura de la estructura de base de datos que nos crea nuestro nuevo DataContext y un ejemplo completo de como hacerlo.

MapeoDbml4

Ejemplo de como poder hacerlo:

Print Friendly

Share

Escribe un comentario