Sql Server CE en Windows Phone

  • RSS
  • Add To My MSN
  • Add To Windows Live
  • Add To My Yahoo
  • Add To Google

Statistics

  • Entries (62)
  • Comments (118)
Posted by Romny Duarte Saturday, February 25, 2012 8:58:00 AM Categories: General
Rate this Content 0 Votes

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

* Este post fue publicado originalmente en Sql Server CE en Windows Phone

Comments

Comments are closed on this post.