我可以在以下场景中使用部分数据库项目吗?
我有许多数据库,它们彼此相互依赖。 Database2在Database1和Database3上执行SP,Database3在Database2上执行SP。 例如:
数据库1可以定义为:
CREATE TABLE [dbo].[X]
(
Id int NOT NULL,
X int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
SELECT * FROM [dbo].[X]
END
数据库2可以定义为:
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database1].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetXY]
AS
BEGIN
EXEC [dbo].[GetX]
EXEC [Database3].[dbo].[GetY]
END
数据库3可以定义为:
CREATE TABLE [dbo].[Y]
(
Id int NOT NULL,
Y int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database2].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetY]
AS
BEGIN
SELECT * FROM [dbo].[Y]
END
因为Database2依赖于Database2上的Database3和Database3,所以有一个循环引用。我不确定部分项目在这里如何帮助我,因为如果我在基础对象和外部对象之间分离Database2,我仍然会在外部项目上有一个循环引用。据我了解,这是不允许的。
对于解释道歉,数据库也在伤害我。如果需要,我会尝试更详细。
答案 0 :(得分:0)
http://social.msdn.microsoft.com/Forums/en/vstsdb/thread/8357d599-9d03-4ed6-879f-e090f9c96fcd
已经回答了这个问题简而言之,对于简单的方案(例如示例),这将起作用,但是对于复杂程度,所需的管理将阻止使用数据库项目。
我们仍计划使用VS生成所需的目标文件,以便存储在TFS中。 Unfortunatley我们将无法构建部署脚本。