none
C# y BD Sql RRS feed

  • Pregunta

  • Hola!

    He modificado la base de datos de Sql desde SQL justamente. He creado una tabla nueva y la relacioné con otra existente.

    La consulta es... cómo se actualiza la base de datos desde C#? El origen es el mismo, pero no me aparece la tabla nueva y la relación en C#.

    GRACIAS!!!

    Luciano :-)

    ---

    domingo, 21 de enero de 2018 0:00

Respuestas

  • ¿Qué estás usando? ¿Entity Framework con Database First? En esa caso haz clic-derecho en el fondo del diseñador del .edmx y selecciona la opción de actualizar desde la base de datos.

    Pero si estás usando un DataSet tipado, ese truco no funciona. En ese caso, abre el diseñador, selecciona la opción de añadir otra tabla, y selecciona la tabla que agregaste en la base de datos.

    domingo, 21 de enero de 2018 10:04
    Moderador

Todas las respuestas

  • ¿Qué estás usando? ¿Entity Framework con Database First? En esa caso haz clic-derecho en el fondo del diseñador del .edmx y selecciona la opción de actualizar desde la base de datos.

    Pero si estás usando un DataSet tipado, ese truco no funciona. En ese caso, abre el diseñador, selecciona la opción de añadir otra tabla, y selecciona la tabla que agregaste en la base de datos.

    domingo, 21 de enero de 2018 10:04
    Moderador
  • ¿Qué estás usando? ¿Entity Framework con Database First? En esa caso haz clic-derecho en el fondo del diseñador del .edmx y selecciona la opción de actualizar desde la base de datos.

    Pero si estás usando un DataSet tipado, ese truco no funciona. En ese caso, abre el diseñador, selecciona la opción de añadir otra tabla, y selecciona la tabla que agregaste en la base de datos.

    He intentado lo del diseñador y demás... pero no estaría funcionando... es muy errado mi pensamiento de que lo que modifique en la bd se actualiza en el proyecto de c#?

    Gracias!!!

    Luciano :-)

    ---

    domingo, 21 de enero de 2018 15:59
  • [...] es muy errado mi pensamiento de que lo que modifique en la bd se actualiza en el proyecto de c#?

    Es errado si esperas que se actualice automáticamente. Sí que se puede actualizar de manera manual, seleccionando la opción correspondiente en el diseñador, pero depende de la tecnología que estés usando (EF code first, model first, database first, Linq to SQL, Typed DataSet...). Unas sí se actualizan, otras no.
    domingo, 21 de enero de 2018 16:25
    Moderador
  • [...] es muy errado mi pensamiento de que lo que modifique en la bd se actualiza en el proyecto de c#?

    Es errado si esperas que se actualice automáticamente. Sí que se puede actualizar de manera manual, seleccionando la opción correspondiente en el diseñador, pero depende de la tecnología que estés usando (EF code first, model first, database first, Linq to SQL, Typed DataSet...). Unas sí se actualizan, otras no.

    Hice algo, previa copia de seguridad del proyecto... eliminé la base de datos del explorador de soluciones y volví a dar de alta a una base de datos, con el mismo nombre que la anterior. Lo único que me pidió al momento de comprobar si funcionaba el programa fue agregar una línea de código con el nombre de la tabla nueva y modificar el nombre de la tabla a la que le había modificado el nombre...

    Comprobé y agrega/elimina/modifica la tabla que ya había trabajado previamente,

    Hice bien?

    Luciano :-)

    ---

    domingo, 21 de enero de 2018 17:00
  • Hice bien?

    Depende. ¿Cuál es la tecnología cliente que estás usando?

    domingo, 21 de enero de 2018 22:13
    Moderador
  • Hice bien?

    Depende. ¿Cuál es la tecnología cliente que estás usando?

    Dataset!!!

    Luciano :-)

    ---

    lunes, 22 de enero de 2018 10:47
  • En ese caso, lo que no me cuadra es lo de "eliminé la base de datos del Explorador de Soluciones". Si era una base de datos SQL Server, normalmente no debería estar en el explorador de soluciones (sino únicamente en el explorador de servidores), a no ser que sea una instancia de usuario, en cuyo caso sí que podría estar en el explorador de soluciones, pero al borrarla se borraría junto con todas sus tablas, por lo que no tendría sentido decir que "se han actualizado las tablas en el programa". Simplemente se habrían creado todas nuevas.

    Si lo que has hecho no es borrar la base de datos, sino únicamente el dataset y su diseño, entonces sí, como es lógico se habrá actualizado al volverlo a añadir y traer las tablas de nuevo desde la base de datos. Sin embargo, no es bueno acostumbrarse a hacer esto, porque si hubieras hecho algún cambio manual en el diseñador (tal como renombrar algún campo o añadir alguna query), entonces esos cambios se habrían perdido. Entiendo que en tu caso da igual porque no tenías ningún cambio, pero si los hubiera habido habría sido preferible añadir a mano la nueva tabla sobre el diseñador del dataset, en lugar de borrarlo todo y volverlo a añadir.

    lunes, 22 de enero de 2018 16:10
    Moderador
  • hola

    >>cómo se actualiza la base de datos desde C#? El origen es el mismo, pero no me aparece la tabla nueva y la relación en C#.

    por dataset entiendo seria un dataset tipado, no? o sea un xsd

    si es asi la forma en como actualizo es eliminandolo y volverlo a crear, es lo mas seguro para una correcta actualizacion

    Por supuesto antes de hacer esto realiza un backup del codigo, digo si es que no usas un control de versionado, como ser TFS o github

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 22 de enero de 2018 17:21