Pregunta

Quiero encontrar una manera de desarrollar proyectos de bases de datos rápidamente en Visual Studio.¿Algunas ideas?

¿Fue útil?

Solución

Tengo un método para crear y actualizar proyectos de bases de datos en Visual Studio 2005 que pensé que era de conocimiento común.Después de preguntar a algunos compañeros de trabajo si sabían cómo actualizar sus proyectos de bases de datos con este método y recibir respuestas negativas, pensé en escribir un blog sobre ello y transmitirles algunos consejos útiles y mejores prácticas.

Trabajo mucho con bases de datos y especialmente con procedimientos almacenados que están diseñados para usarse con lógica de negocios/acceso a datos .NET framework.Disfruto trabajando con bases de datos y siempre creo proyectos de bases de datos para vivir con mis proyectos .NET.Soy psicótico por mantener actualizados los proyectos de bases de datos.Me quedé demasiado tiempo en mi juventud cuando necesitaba crear un procedimiento almacenado que se eliminó o no estaba sincronizado con la aplicación usando la base de datos.

Después de crear su proyecto de base de datos en Visual Studio 2005 como se muestra:

texto alternativo http://www.cloudsocket.com/images/image-thumb16.png

Cree 3 nuevos directorios en los proyectos:Tablas, Procedimientos Almacenados y Funciones.Normalmente sólo los guardaba para mis proyectos.

texto alternativo http://www.cloudsocket.com/images/image-thumb17.png

Ahora abro Server Explorer en Visual Studio y creo una nueva conexión a la base de datos que deseo.Estoy usando Northwind como ejemplo.No voy a explicar la creación de la conexión en este ejemplo.

texto alternativo http://www.cloudsocket.com/images/image-thumb18.png

Usaré un procedimiento almacenado como ejemplo sobre cómo actualizar el proyecto de base de datos.Primero, expando el directorio "Procedimientos almacenados" en el Explorador de servidores para la base de datos Northwind.Selecciono un procedimiento almacenado.

texto alternativo http://www.cloudsocket.com/images/image-thumb19.png

Arrastro el procedimiento almacenado al directorio "Procedimientos almacenados" en el Explorador de soluciones y lo suelto.

texto alternativo http://www.cloudsocket.com/images/image-thumb20.png

texto alternativo http://www.cloudsocket.com/images/image-thumb21.png

Si abre el archivo de los procedimientos almacenados arrastrados, encontrará que el IDE creó el script de la siguiente manera:

/****** Object:  StoredProcedure [dbo].[CustOrdersOrders]    Script Date: 08/25/2007 15:22:59 ******/
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CustOrdersOrders]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[CustOrdersOrders]
GO
/****** Object:  StoredProcedure [dbo].[CustOrdersOrders]    Script Date: 08/25/2007 15:22:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CustOrdersOrders]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5)
AS
SELECT OrderID,
    OrderDate,
    RequiredDate,
    ShippedDate
FROM Orders
WHERE CustomerID = @CustomerID
ORDER BY OrderID
'
END
GO

Ahora puede arrastrar todas las tablas, funciones y procedimientos almacenados restantes de su base de datos.También puede hacer clic derecho en cada secuencia de comandos en el Explorador de soluciones y ejecutar las secuencias de comandos en la base de datos a la que se hace referencia en su proyecto de base de datos.

Otros consejos

Hola Chris, también uso la misma manera para mantener un proyecto de base de datos, el único problema es que a menudo realizas cambios en los procedimientos almacenados y, a veces, olvidas cuáles cambiaste, por lo que puedes arrastrar uno y olvidar el otro.¿Conoce alguna forma de sincronizar el proyecto de la base de datos con la base de datos, o una forma de importar el script más reciente para los procesos almacenados en su proyecto, después de que se hayan agregado arrastrándolos por primera vez?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top