Domanda

Voglio trovare un modo per sviluppare rapidamente progetti di database in Visual Studio.Qualche idea?

È stato utile?

Soluzione

Ho un metodo per creare e aggiornare progetti di database in Visual Studio 2005 che pensavo fosse di conoscenza comune.Dopo aver chiesto ad alcuni colleghi se sapevano come aggiornare i loro progetti di database con questo metodo e aver ricevuto dei no, ho pensato di scrivere un blog sull'argomento e di fornire alcuni suggerimenti utili e migliori pratiche.

Lavoro molto con database e in particolare con procedure memorizzate create per essere utilizzate con la logica aziendale/accesso ai dati framework .NET.Mi piace lavorare con i database e creare sempre progetti di database da convivere con i miei progetti .NET.Sono psicotico nel mantenere aggiornati i progetti di database.Da giovane sono stato scottato troppe volte in cui avevo bisogno di creare una procedura memorizzata che era stata eliminata o non era sincronizzata con l'applicazione utilizzando il database.

Dopo aver creato il tuo progetto di database in Visual Studio 2005 come mostrato:

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

Crea 3 nuove directory nei progetti:Tabelle, procedure memorizzate e funzioni.Di solito li memorizzavo solo per i miei progetti.

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

Ora apro Server Explorer in Visual Studio e creo una nuova connessione al database desiderato.Sto usando Northwind come esempio.Non descriverò dettagliatamente la creazione della connessione per questo esempio.

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

Utilizzerò una procedura memorizzata come esempio su come aggiornare il progetto di database.Per prima cosa espando la directory "Stored Procedures" in Esplora server per il database Northwind.Seleziono una procedura memorizzata.

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

Trascino la procedura memorizzata nella directory "Procedure memorizzate" in Esplora soluzioni e la rilascio.

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

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

Se apri il file per le stored procedure trascinate scoprirai che l'IDE ha creato lo script come segue:

/****** 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

Ora puoi trascinare tutte le tabelle, le funzioni e le rimanenti procedure memorizzate dal tuo database.Puoi anche fare clic con il pulsante destro del mouse su ogni script in Esplora soluzioni ed eseguire gli script nel database di riferimento del progetto di database.

Altri suggerimenti

Ehi Chris, utilizzo lo stesso modo anche per mantenere un progetto di database, l'unico problema è che spesso apporti modifiche alle procedure memorizzate e talvolta dimentichi quali hai modificato, quindi potresti trascinarne una e dimenticare l'altra.Conosci un modo per sincronizzare il progetto del database con il database o un modo per importare lo script più recente per le procedure memorizzate nel tuo progetto, dopo che sono state aggiunte trascinando la prima volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top