Documente Academic
Documente Profesional
Documente Cultură
INDOAMRICA
DCIMO SEMESTRE
FEBRERO 2012
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Es necesario indicar que los motores de bases de datos que podemos utilizar locales en
Windows Phone 7.5 son:
Debemos crear un contexto de datos (DataContext) para poder tener acceso a la base de
datos local en Windows Phone 7.5 conocido tambin como Windows Phone Mango, aqu
es necesario aclarar, que no podemos utilizar ADO.NET de manera directa para este acceso
a la base de datos local en el dispositivo.
Por la razn anterior debemos crear un contexto de datos de la base de datos a utilizar en
nuestro desarrollo para Windows Phone 7.5, este DataContext, no es ms que una clase en
uno de los lenguajes de la plataforma .NET (VB.NET o C#), en la cual se encuentran
mtodos que permiten las operaciones CRUD, clases de tipo entidad que representan un
registro de cada una de las tablas, clases de tipo coleccin que representan la tabla o un
conjunto de registros de la tabla.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Para muchos de los que venimos del mundo de Windows Mobile, desarrollo ASP.NET o
Windows Forms es un cambio brusco, ya que estbamos acostumbrados a tener todo
controlado desde ADO.NET.
La razn principal de la reflexin anterior es que al no tener el manejo de las operaciones
de la base de datos a travs de ADO.NET las cosas como que se nos complican. Sin
embargo, el manejo de las operaciones de la base de datos locales en Windows Phone 7.5
se realiza a travs de LinQ y un DataContext, este DataContext es el que vamos a aprender
a construir en este post.
Algo que debemos tener claro es que nuestra base de datos local de SQL Server Mobile se
almacena en el almacenamiento privado del dispositivo, esto es lo que conocemos como
Isolated Storage.
La clase DataContext
Esta es una clase que contiene de todas las operaciones CRUD (Create, Read, Update,
Delete) basada en la base de datos para realizar operaciones sobre la Base de Datos. En la
cual utilizando LINQ to SQL accedemos a todas las operaciones que necesitemos realizar
sobre la base de datos.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Muy bien, ya teniendo claro todo lo anterior, lo primero que debemos hacer es definir el
modelo de datos en nuestra base de datos SQL Mobile, para esto vamos a utilizar SQL
Server Management Studio para crear la base de datos y la estructura de las tablas de
nuestra base de datos.
Si se preguntan si podemos utilizar Entity Framework 4.1 para realizar esta operacin, la
respuesta es SI, lo importante es definir el modelo de nuestro repositorio de datos y generar
el archivo .SDF de la base de datos SQL Server Mobile.
Ahora vamos a mostrar cmo crear una base de datos desde el SQL Server Management
Studio, al iniciar esta aplicacin nos vamos a encontrar con la siguiente pantalla:
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Vamos a crear una nueva base de datos, entonces de la lista que nos muestra, que son las
bases de datos que hayamos utilizado, vamos a seleccionar la opcin <New Database>
para crear una nueva base de datos.
Esta accin nos abre una nueva pantalla en la cual podemos darle un nombre a nuestra base
de datos, colocarle un nombre, etc.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Tambin podemos seleccionar un mtodo de encriptacin de los datos para nuestra base de
datos, si no deseamos encriptar nuestra base de datos seleccionamos la opcin por defecto :
UNENCRYPTED.
Vamos a crear una BD que se llame DBWinPhone.sdf, con los parmetros por defecto,
como lo podemos apreciar en la imagen anterior.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Al presionar el botn de OK, nos muestra una ventana de confirmacin indicando que la
base de datos no tiene una clave de proteccin.
Seleccionamos el botn Yes para que nos muestre la pantalla para abrir nuestra base de
datos y empezar a disear y crear nuestras tablas.
En esta pantalla ya tenemos el botn de Connect con el cual abrimos y nos conectamos a
la base de datos.
Nos abre la ventana del SQL Server Management Studio y en el explorador de Objetos nos
muestra algo como la siguiente imagen:
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Vamos a crear una nueva tabla para nuestra base de datos, para esto, damos clic derecho
sobre la carpeta de las tablas Tables, esto lo podemos apreciar en la siguiente imagen:
Al seleccionar la opcin New Table nos abre la pantalla de creacin de una nueva tabla
para nuestra base de datos:
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
En la imagen anterior podemos observar la estructura de la tabla Pais que creamos para
nuestra base de datos.
Al darle clic al botn de OK de la pantalla se graba la estructura de la tabla y se ve de la
siguiente forma en el SQl Server Management Studio:
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Ya tenemos nuestra base de datos .SDF creada, ahora vamos a realizar el proceso de la
creacin de la clase que forma el DataContext para poder utilizarlo en nuestra aplicacin de
Windows Phone 7.5.
Para poder realizar el proceso necesitamos un programa que se instala con el SDK de
Windows Phone 7.5, este programa se llama SQLMetal.
Para ejecutarlo, vamos a abrir una ventana de comandos del sistema operativo, pero la
ventana de comandos a abrir es la que se encuentra en la seccin de Visual Studio 2010,
como lo podemos apreciar en la siguiente imagen:
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
Ahora si podemos ejecutar el comando SQLMetal que nos permite generar la clase que
representa el DataContext para acceder a nuestra base de datos.
SQLMETAL D:\Roberto\Projects\Silverlight\DBWinPhone.sdf
/code:D:\Roberto\Projects\Silverlight\DBWinPhone.cs
/language:csharp
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
/namespace:LocalDBDemo
/context:DBWinPhoneDataContext
/pluralize
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.
base(connection,
Los constructores sealados en color amarillo son los que deben eliminarse de la clase de
DataContext generada, al eliminarlos y compilar, los errores van a desaparecer.
DISPOSITIVOS MVILES
Pepe X. Bourgeat F.