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
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.
Bueno este es un ejemplo sencillo de como trabajar con Sql Server CE en almacenamiento aislado con Windows Phone.
Saludos.
Romny
Fácil de entender. Gracias