我使用Visual Studio 2015在TFS上有一个数据库项目。 在我的项目中,我创建了一个同义词,指向同一服务器上的另一个数据库。当我尝试编译项目时,告诉我有一个未解析的引用指向同义词对象。
如何处理这个以获得TFS编译?
我查看了此链接:Visual Studio 2010 Database Project - Unresolved Reference to a Synonym
但看起来这只有当我们在同一个解决方案上有两个或更多项目时才有效。在我的情况下,我有不同的数据库项目,所以当我尝试编译时,我有这个错误:
[dbo]。[ProviderContact]。[ProviderUserId]包含对象的未解析引用。 对象不存在或引用不明确,因为它可以引用以下任何对象:[dbo]。[LookupUser]。[u] :: [UserId],[dbo]。[LookupUser]。[UserId] 或[dbo]。[UserProviderRelation]。[u] :: [UserId]。
引用同义词(dbo.LookupUser)的视图是:
CREATE VIEW [dbo].[ProviderContact]
AS
SELECT upr.Id, upr.Name, u.Description, u.UserId AS ProviderUserId,
FROM dbo.UserProviderRelation AS upr
INNER JOIN dbo.LookupUser AS u
ON upr.UserId = u.UserId
WHERE (u.UserTypeId = 1)
GO
同义词是这样的:
CREATE SYNONYM [dbo].[LookupUser] FOR [AnotherDB].[dbo].[Users]
GO
同义词位于另一个数据库中,但位于同一服务器上。
当我打开添加数据库参考...我看到了这个:
所以我无法添加引用。在这种情况下如何解决参考?
答案 0 :(得分:1)
很抱歉听到您遇到此问题。我之所以来到这里,是因为我对4符号有类似的疑问。
对于VS2017,您的问题似乎没有解决。不同的数据库相同的服务器。
尽管如此,我还是在项目中使用了一个变量。
创建SYNONYM [dbo]。[LookupUser] FOR [$(Serverdb)]。[$(Anothedb)]。[dbo]。[用户]
让我知道在使用VS中的Project定义来设置变量时是否需要帮助。
狮子座