none
Actualizar App con SQL CE RRS feed

  • Pregunta

  • Hola, tengo una App que hace uso de BD SQL CE

    1. El caso es que quiero añadir nuevas tablas y campos pero no se cómo hacerlo sin borrar la BD existente (lo cual no es viable, porque sino estaría borrando a los usuarios todos los datos que han creado hasta ahora).
    2. Quisiera hacer un backup en OneDrive de la BD; para guardarlo no tengo problema, pero no me deja restaurar porque el archivo de BD está abierto; ¿cómo lo puedo cerrar para poder restaurar la BD?

    ¿Alguien me puede orientar un poco sobre cómo hacer alguna de estas cosas?

    Muchas gracias; saludos


    • Editado E. Benito martes, 13 de mayo de 2014 8:59
    martes, 13 de mayo de 2014 8:58

Respuestas

Todas las respuestas

  • Hola.

    1.- Tenés que abrir el fichero sdf con un editor (puede ser VS10 o SSMS2008 creo o alguna aplicación de terceros) y modificar la BD.

    2.- Depende de como estés accediendo a la BD desde tu aplicación. Si el fichero sdf está como recurso de la aplicación, creo que no vas a poder cerrarlo sin cerrar la aplicación. De otras formas podrás modificarlo sin problemas.

    Salu2

    martes, 13 de mayo de 2014 9:30
  • Gracias Matías por la respuesta, pero creo que no me he debido explicar bien, ya que no que me indica (en la pregunta nº 1) no puedo hacerlo, es decir, podría hacer eso para incluir en nuevo SDF en la aplicación, pero no puedo cambiarles a los usuarios sus SDFs porque sino perderían también sus datos.

    En la App yo creo la estructura mediante Code First, con lo cual a la crea por primera vez la BD se crea esa estructura, lo que necesitaría es poder añadir nuevas tablas y campos a las tablas ya existentes, sin tener que borrar el archivo SDF actual ni cambiarlo por otro distinto

    Claro existe la posibilidad de manejar una BD intermedia para esto, pero si pudiera ahorrármelo lo preferiría por el lio que me supone.

    Gracias

    martes, 13 de mayo de 2014 10:36
  • Hola!

    Esto lo puedes realizar con la clase DatabaseSchemaUpdater. Esta clase tiene métodos para añadir tablas o campos a una tabla, asociaciones o indices (AddColumn<T>, AddIndex<T>, AddAssociation<T> y AddTable<T>) Si tienes alguna duda, dale un repaso al artículo de MSDN oficial: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394018(v=vs.105).aspx

    Un saludo!


    MCTS - .NET 4.0 Windows Applications
    MCTS - .NET 4.0 Data Access
    MCTS - .NET 4.0 Service Communication Applications
    MCPD - .NET 4.0 Windows Developer
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter

    jueves, 15 de mayo de 2014 5:43