从数据库更新模型:Visual Studio使用错误的数据库

时间:2011-04-29 15:17:27

标签: visual-studio entity-framework

我有一个包含多个EF数据库的项目;每个EF模型都在自己的项目中,从数据库的其他部分引用。

有时,当我使用Update Model from Database...功能(右键单击图形.EDMX视图)时,Visual Studio会进入一种状态,尝试从与模型B关联的数据库更新模型A的.EDMX文件例如,它在DB中显示要导入的“新表”(实际上在另一个DB中)。即使退出/重新启动Visual Studio也无法解决问题。

This question似乎表达了我所看到的问题,但接受的答案并没有解决我的问题。

Visual Studio用于配置如何连接到数据库以查找更新?我检查过的事情:

  • 我的app.config connectionString在DB项目中指向正确的位置。这是我希望它使用的文件。
  • 我尝试将“当前启动项目”设置为不引用“错误”数据库项目的应用程序,可能会考虑其他项目的app / web.config connectionStrings可能会干扰;没有明显的效果。
  • 服务器资源管理器显示与“正确”数据库的数据连接,但不显示“不正确”数据库。这可能是一个红鲱鱼;它显示为断开连接,直到我点击它,所以我怀疑它是否被使用了。
  • .csproj文件中没有与“不正确”项目/ DB的名称匹配的字符串。 .sln文件仅包含预期的项目引用。没有.csproj.user文件。

有什么想法吗?这是Visual Studio的错误吗?

更新:尝试过其他事情:

  • 删除.suo文件不会影响问题。
  • 我发现Visual Studio在某些时候添加了一些意外的.datasource文件;将它们移动到其他位置并没有产生影响,Visual Studio也没有尝试重新创建它们。我查看了内部,没有引用其他数据库/项目,只是一个GenericObjectDataSource元素,其中的项目引用了“正确的”项目。这个文件的存在让我怀疑,但我目前难以理解如何进一步探测。我没有在解决方案的任何其他项目中看到等效文件。

1 个答案:

答案 0 :(得分:2)

/捂脸

否认。 “正确”数据库中存在挥之不去的表格,这些数据库从团队对这些表格的重构遗留到另一个数据库中。虚拟表实际上存在于数据库中。