我有一个包含多个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元素,其中的项目引用了“正确的”项目。这个文件的存在让我怀疑,但我目前难以理解如何进一步探测。我没有在解决方案的任何其他项目中看到等效文件。