【发布时间】:2011-04-29 23:44:32
【问题描述】:
我有一个包含多个 EF 数据库的项目;每个 EF 模型都在其自己的项目中,并从数据库的其他部分引用。
有时,当我使用Update Model from Database... 功能(右键单击图形 .EDMX 视图)时,Visual Studio 会进入尝试从与模型 B 关联的数据库中更新模型 A 的 .EDMX 文件的状态。对于例如,它在要导入的数据库中显示“新表”(实际上在另一个数据库中)。即使退出/重新启动 Visual Studio 也不能解决问题。
This question 似乎表达了我看到的问题,但接受的答案并没有解决我的问题。
Visual Studio 使用什么来配置它如何连接到数据库以查找更新?我检查过的事情:
- 我在 DB 项目中的 app.config connectionString 指向正确的位置。这是我希望它使用的文件。
- 我尝试将“当前启动项目”设置为不引用“不正确”数据库项目的应用程序,我认为其他项目的 app/web.config 连接字符串可能会干扰;没有明显的效果。
- 服务器资源管理器显示到“正确”数据库的数据连接,而不是“不正确”数据库。这可能是一条红鲱鱼;在我点击它之前,它显示为断开连接,所以我怀疑它是否正在被使用。
- .csproj 文件中没有与“不正确”项目/DB 名称匹配的字符串。 .sln 文件仅包含预期的项目引用。没有 .csproj.user 文件。
有什么想法吗?这是 Visual Studio 的错误吗?
更新:尝试了其他方法:
- 删除 .suo 文件不会影响问题。
- 我发现了一些意外的 .datasource 文件,这些文件是 Visual Studio 在某个时候在“属性”下添加的;将它们移到别处没有效果,Visual Studio 也没有尝试重新创建它们。我往里面看了看,没有引用其他数据库/项目,只有一个 GenericObjectDataSource 元素,其中的项目引用了“正确”的项目。这个文件的存在让我很怀疑,但我目前不知道如何进一步调查。我在解决方案的任何其他项目中都看不到等效文件。
【问题讨论】:
标签: visual-studio entity-framework