0

我想找到一种在 Visual Studio 中快速开发数据库项目的方法。有任何想法吗?

4

3 回答 3

4

我有一种在 Visual Studio 2005 中创建和更新数据库项目的方法,我认为这是常识。在询问了一些同事是否知道如何使用这种方法更新他们的数据库项目并没有收到任何答复后,我想我会在博客中介绍它并传递一些有用的提示和最佳实践。

我经常使用数据库,尤其是为与业务逻辑/数据访问 .NET 框架一起使用而构建的存储过程。我喜欢使用数据库,并且总是创建数据库项目来配合我的 .NET 项目。我对使数据库项目保持最新状态感到很紧张。在我年轻的时候,我被烧毁了太多时间,我需要创建一个已删除或与使用数据库的应用程序不同步的存储过程。

在 Visual Studio 2005 中创建数据库项目后,如图所示:

替代文字 http://www.cloudsocket.com/images/image-thumb16.png

在项目中创建 3 个新目录:表、存储过程和函数。我通常只为我的项目存储这些。

替代文字 http://www.cloudsocket.com/images/image-thumb17.png

我现在在 Visual Studio 中打开服务器资源管理器并创建一个到所需数据库的新连接。我以罗斯文为例。我不打算为这个示例演示连接的创建过程。

替代文字 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

您现在可以从数据库中拖动所有表、函数和剩余的存储过程。您还可以右键单击解决方案资源管理器中的每个脚本,然后在数据库项目的引用数据库上运行脚本。

于 2008-09-17T14:34:54.810 回答
0

数据大哥?http://msdn.microsoft.com/en-us/vsts2008/db/default.aspx

于 2008-09-17T14:35:23.963 回答
0

嘿 Chris,我也用同样的方法来保存一个数据库项目,唯一的问题是你经常对存储过程进行更改,有时你会忘记你更改了哪些,所以你可能会拖一个而忘记另一个。您是否知道一种将数据库项目与数据库同步的方法,或者一种在您的项目中为存储的过程导入最新脚本的方法,在第一次通过拖动添加它们之后。

于 2009-07-01T02:08:10.713 回答