未解决的循环引用

时间:2013-01-17 22:10:43

标签: visual-studio-2010 database-project

我在一个解决方案中有两个数据库项目,数据库A和数据库B.它们都有像这样的指向对方的查询

Select * FROM [Database A].dbo.Table 

Visual Studio将向您发出类似SQL04151的警告:过程xyz包含对象的未解析引用......如果向数据库A添加数据库引用,则会在数据库B中解析此警告。

然而,数据库A仍有警告抱怨未对数据库B中的内容进行引用。

如果我尝试从数据库A添加对数据库B的引用,它就不会让我这么做,因为它说“对数据库B'数据库B'无法添加。添加此项目作为参考将导致循环依赖。

所以我想我的问题是如何解决参考,以便停止显示警告?

1 个答案:

答案 0 :(得分:0)

在VS2010数据库项目中,您希望为引用的数据库生成* .DBSchema文件。将该DBSchema文件添加为项目内的数据库引用。这将避免尝试指向另一个项目并创建循环引用。您可以使用带有“import”选项的VSDBCMD.exe生成DBSchema文件,以便从数据库创建文件。

您可能希望在构建时查看错误。由于这些循环引用,我们不得不为“新”构建多次构建/部署数据库。第一次使用drop A创建DB A,然后创建DB B,然后更新DB A.如果我们没有,则不会创建依赖于其他数据库的对象。