Как я могу создавать и разрабатывать новые проекты баз данных в Visual Studio?

StackOverflow https://stackoverflow.com/questions/83863

Вопрос

Я хочу найти способ быстрой разработки проектов баз данных в Visual Studio.Есть идеи?

Это было полезно?

Решение

У меня есть метод создания и обновления проектов баз данных в 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

Теперь вы можете перетащить все таблицы, функции и оставшиеся хранимые процедуры из вашей базы данных.Вы также можете щелкнуть правой кнопкой мыши каждый сценарий в обозревателе решений и запустить сценарии в базе данных, на которую ссылается проект вашей базы данных.

Другие советы

Привет, Крис, я также использую тот же способ для ведения проекта базы данных, единственная проблема заключается в том, что вы часто вносите изменения в хранимые процедуры, а иногда забываете, какие из них вы изменили, поэтому вы можете перетащить одну и забыть другую.Знаете ли вы, как синхронизировать проект базы данных с базой данных или как импортировать последний сценарий для хранимых процедур в вашем проекте после того, как они были добавлены путем перетаскивания в первый раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top