2009-10-25 12 views
6

Estoy empezando con los proyectos de base de datos de Visual Studio y me encantan los planes de generación de datos que puedo crear con él. Sin embargo, en uno de mis proyectos necesito completar una tabla de búsqueda con valores específicos. Como existe una relación de clave externa entre la tabla de búsqueda y otra tabla, no puedo eliminar la tabla de búsqueda del plan de generación de datos sin eliminar la otra tabla del plan. Pero luego no puedo generar ningún dato para la otra tabla.Creación de un plan de generación de datos que incluye valores correctos de tabla de búsqueda

¿Cómo puedo a) especificar los datos exactos que quiero que use el generador al agregar datos a la tabla de búsqueda, o b) hacer que el generador no agregue nuevos valores a la tabla sino que use valores que ya existen?

Gracias!

Respuesta

4

Esta es mi opinión sobre Generación de datos consistente en Visual Studio 2008

La herramienta de generación de datos en Visual Studio 2008 Datos Edition es una gran herramienta para poblar su base de datos con la información de sentido para utilizar en las pruebas unitarias, pero cuando se llega el momento de realizar pruebas de integración, a menudo es importante hacer que su plan de generación de datos vuelva a crear un conjunto de datos coherente en tablas clave (como las tablas de búsqueda utilizadas en claves externas que a menudo se reflejan como Enumeraciones en sus soluciones C# o VB.Net). Afortunadamente, la herramienta de generación de datos incluye el generador secuencial de datos enlazados. Este generador selecciona registros de la fuente de datos especificada y usa los resultados para poblar su tabla.

Entonces, ¿cómo hacemos uso de esto? En nuestras soluciones de bases de datos, incluimos dos bases de datos: la base de datos real en la que estamos trabajando y una base de datos de generación de datos. Para las tablas que necesitamos rellenar consistentemente, duplicamos la tabla de esquema & en la base de datos de generación de datos (menos cualquier índice/clave/restricción/disparador, etc.) y luego usamos la secuencia de comandos posterior a la implementación para crear los registros deseados . Para reducir la duplicación de las secuencias de comandos de relleno, la secuencia de comandos posterior a la implementación para la base de datos real apunta a la secuencia de comandos de llenado de datos por una ruta relativa. Esto también significa que estas tablas tendrán los mismos registros si acabas de implementar la base de datos, o simplemente ejecutan el plan de generación de datos, lo que hace la vida más fácil para todos en el equipo.

Full details here

1

Ésta es la manera antigua - pero acaba de establecer el número de columnas a 0 en la tabla de consulta, y no borrar los datos existentes.

+2

Esto no parece funcionar en Visual Studio 2010. 'Error en la generación de datos debido a la siguiente excepción: Columna' MyForeignKeyId 'no permite DBNull.Value ..' producido 1 veces (s). –

+0

Aún necesita mantener la integridad de la clave externa. En el caso de la pregunta del OP: ya hay datos en la tabla de búsqueda que no se deben eliminar. –

+0

Sí. Al ejecutar su plan de generación de datos, nunca borre los datos existentes y configure el número de filas para insertar en cero para mantener las tablas de dominio intactas. –

Cuestiones relacionadas