Как я могу создавать и разрабатывать новые проекты баз данных в Visual Studio?
-
01-07-2019 - |
Вопрос
Я хочу найти способ быстрой разработки проектов баз данных в 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
Теперь вы можете перетащить все таблицы, функции и оставшиеся хранимые процедуры из вашей базы данных.Вы также можете щелкнуть правой кнопкой мыши каждый сценарий в обозревателе решений и запустить сценарии в базе данных, на которую ссылается проект вашей базы данных.
Другие советы
Привет, Крис, я также использую тот же способ для ведения проекта базы данных, единственная проблема заключается в том, что вы часто вносите изменения в хранимые процедуры, а иногда забываете, какие из них вы изменили, поэтому вы можете перетащить одну и забыть другую.Знаете ли вы, как синхронизировать проект базы данных с базой данных или как импортировать последний сценарий для хранимых процедур в вашем проекте после того, как они были добавлены путем перетаскивания в первый раз.