【问题标题】:Update model from database: Visual Studio uses the wrong database从数据库更新模型:Visual Studio 使用了错误的数据库
【发布时间】: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


    【解决方案1】:

    /掌心

    无视。团队将这些表重构到另一个数据库中时,“正确”数据库中有一些延迟表。虚拟表实际上在数据库中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多