Sql Server CE en Windows Phone

Hola a todos.

Esta noche vengo a hablarles de Sql Server CE para trabajar con DB en Windows Phone en almacenamiento aislado. En Windows Phone Sql Server CE no tiene diseñador, ni herramientas visuales para trabajar con las BD, todo el trabajo se debe hacer con “Code First” o sea por código. Otra característica es que no se permite ejecutar instrucción T-SQL, todo se debe hacer usando Linq to Sql. Ahora veamos un ejemplo sencillo.

Primero generamos un proyecto de Windows Phone, seguidamente agregarmos la referencia a System.Data.Linq

image

Para trabajar con Sql Server CE tenemos que hacerlo por “Code First”. no olvidar usar

   1: using System.Data.Linq;

   2: using System.Data.Linq.Mapping;

   1: namespace WPSqlCE.Database

   2: {

   3:     [Table(Name="Usuario")]

   4:     public class Usuario

   5:     {

   6:         [Column(IsDbGenerated=true,IsPrimaryKey=true)]

   7:         public int UsuarioId { get; set; }

   8:  

   9:         [Column()]

  10:         public string Nombre { get; set; }

  11:  

  12:         [Column()]

  13:         public string Apellido { get; set; }

  14:  

  15:         [Column()]

  16:         public string Email { get; set; }

  17:  

  18:         [Column()]

  19:         public string Pais { get; set; }

  20:  

  21:     }

  22: }

Ahora creamos el DataContext

   1: namespace WPSqlCE.Database

   2: {

   3:     public class DBContext: DataContext

   4:     {

   5:         public DBContext(string connectionString): base (connectionString){}

   6:  

   7:         public Table<Usuario> Usuarios

   8:         {

   9:             get

  10:             {

  11:                 return this.GetTable<Usuario>();

  12:             }

  13:         }

  14:  

  15:     }

  16: }

Ahora ya en el formulario principal tenemos algo como lo siguiente.

   1: public MainPage()

   2:         {

   3:             InitializeComponent();

   4:  

   5:             using (DBContext context = new DBContext("isostore:/Database.sdf"))

   6:             {

   7:                 if (!context.DatabaseExists())

   8:                 {

   9:                     context.CreateDatabase();

  10:  

  11:                     Usuario usuario = new Usuario();

  12:                     usuario.Nombre = "Romny";

  13:                     usuario.Apellido = "Duarte";

  14:                     usuario.Email = "romnyduarte@hotmail.com";

  15:                     usuario.Pais = "Colombia";

  16:  

  17:                     context.Usuarios.InsertOnSubmit(usuario);

  18:                     context.SubmitChanges();

  19:                 }

  20:             }

  21:         }

Usamos un botón para cargar el dato que se genero predeterminadamente.

   1: private void btnCargar_Click(object sender, RoutedEventArgs e)

   2:        {

   3:            using (DBContext context = new DBContext("isostore:/Database.sdf"))

   4:            {

   5:                lsUsuarios.ItemsSource = context.Usuarios.ToList();

   6:            }

   7:        }

Ejecutamos la aplicación no sin antes en nuestro control donde vamos a mostrar los datos debemos decirle DisplayMemberPath="Nombre", para que muestre el dato y  no como clase.

image

 

Bueno este es un ejemplo sencillo de como trabajar con Sql Server CE en almacenamiento aislado con Windows Phone.

Saludos.

Romny

Publicado por

Romny Duarte

Ingeniero de sistemas con experiencia en desarrollo web y móvil, geek, amante de la lectura y de la tecnología.

Un comentario sobre “Sql Server CE en Windows Phone”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *