sql-server - 使用 Visual Studio 2008 数据库项目 GDR2 时出现 "Model already has an element"错误 (TSD04105)

标签 sql-server visual-studio-2008 database-project

我正在使用 Visual Studio 2008 数据库项目 GDR2 来管理多个数据库,但遇到许多与同义词相关的错误。

项目 A 引用了项目 B,因为项目 A 与项目 B 中的表有许多同义词。我收到的完整错误是“TSD04105:模型已具有同名 dbo.[OBJECT] 的元素”。这总是指向同义词。

问题似乎是项目 A 上的同义词与项目 B 上的表具有相同的名称。显然,我可以重命名所有同义词,使它们具有与表不同的名称,但这会给我带来大量工作(到目前为止有超过 140 个同义词)。

删除对 Project-B 的引用将消除该错误,但 Project-A 中的所有存储过程都会生成错误,因为它无法再引用 Project-B 中的表。

除了重命名所有同义词之外,有没有办法解决这个问题?在数据库项目中处理这种情况的适当方法是什么?

最佳答案

我在 2008 年服务器项目和数据库项目之间遇到了这个问题,我通过使用文字数据库变量值解决了这个问题。

引用项目属性 -> 引用选项卡 -> 数据库变量值

我想说您也可以使用数据库变量名称/值对。

关于sql-server - 使用 Visual Studio 2008 数据库项目 GDR2 时出现 "Model already has an element"错误 (TSD04105),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3294375/

相关文章:

sql - 将一个表的 5 列保存到另一个表中的 5 行中

c++ - 为什么我得到 "vector iterators incompatible"?

c# - 在使用SandcaSTLe的构建过程中自动生成html文档

visual-studio-2010 - 在您的解决方案中管理数据库脚本

sql-server - VS2013 数据库项目 - 忽略匹配过滤器的模式/表?

mysql - 数据库性能基准

SQL Server 在多个字段上进行透视

SQL Server 存储过程从数据库备份文件恢复

visual-studio - Visual Studio错误列表被隐藏

azure - 使用 Always On 加密和 Azure Key Vault 发布数据库项目