代码之家  ›  专栏  ›  技术社区  ›  Dugan

使用VisualStudio2008数据库项目GDR2时出现“Model already has an element”错误(TSD04105)

  •  4
  • Dugan  · 技术社区  · 14 年前

    我正在使用visualstudio2008数据库项目GDR2来管理多个数据库,并且遇到了一些与同义词相关的错误。

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

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

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

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

    1 回复  |  直到 14 年前
        1
  •  3
  •   keith    13 年前

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

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

        2
  •  0
  •   ARLibertarian    3 年前

    在我以前的雇主,我们用商品类型为每一项做了开头。

    syn_BeerName    
    vw_BeerName
    tblBeerName
    

    通常,同义词为view,视图为table。