У меня есть метод создания и обновления проектов баз данных в Visual Studio 2005, который я считал общеизвестным. После того, как я спросил нескольких коллег, знают ли они, как обновить свои проекты баз данных с помощью этого метода, и получил отказ, я решил написать об этом в блоге и поделиться некоторыми полезными советами и рекомендациями.
Я много работаю с базами данных и особенно с хранимыми процедурами, которые созданы для использования с бизнес-логикой / доступом к данным .NET Framework. Мне нравится работать с базами данных и всегда создавать проекты баз данных, чтобы жить с моими проектами .NET. Я психушу о том, чтобы поддерживать проекты баз данных в актуальном состоянии. Я слишком много раз прожигался в молодые годы, когда мне нужно было создать хранимую процедуру, которая была удалена или была не синхронизирована с приложением, использующим базу данных.
После создания проекта базы данных в Visual Studio 2005, как показано:
альтернативный текст http://www.cloudsocket.com/images/image-thumb16.png
Создание 3 новых каталогов в проектах: таблицы, хранимые процедуры и функции. Я обычно храню их только для своих проектов.
альтернативный текст http://www.cloudsocket.com/images/image-thumb17.png
Теперь я открываю обозреватель серверов в Visual Studio и создаю новое соединение с моей нужной базой данных. Я использую Northwind в качестве примера. Я не собираюсь проходить через создание соединения для этого примера.
альтернативный текст http://www.cloudsocket.com/images/image-thumb18.png
Я буду использовать хранимую процедуру в качестве примера того, как обновить проект базы данных. Сначала я раскрываю каталог «Хранимые процедуры» в обозревателе серверов для базы данных Northwind. Я выбираю хранимую процедуру.
альтернативный текст http://www.cloudsocket.com/images/image-thumb19.png
Я перетаскиваю хранимую процедуру в каталог «Хранимые процедуры» в обозревателе решений и удаляю ее.
альтернативный текст http://www.cloudsocket.com/images/image-thumb20.png
альтернативный текст http://www.cloudsocket.com/images/image-thumb21.png
Если вы откроете файл для перетаскиваемых хранимых процедур, вы обнаружите, что среда IDE создала сценарий следующим образом:
/****** 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
Теперь вы можете перетаскивать все таблицы, функции и оставшиеся хранимые процедуры из вашей базы данных. Вы также можете щелкнуть правой кнопкой мыши по каждому сценарию в обозревателе решений и запустить сценарии в базе данных, на которую ссылается проект базы данных.