【问题标题】:Why does my DB project's .dbmdl file change even when I make no changes to the project?为什么我的数据库项目的 .dbmdl 文件即使我没有对项目进行任何更改也会更改?
【发布时间】:2011-03-30 05:16:39
【问题描述】:

我遇到了一个小而奇怪的烦恼,似乎也发生在其他人身上(例如,check out the revision history of SEDE)。我在 Visual Studio 2010 中有一个可以正常工作的 SQL Server 2008 数据库项目。当我提交/签入源代码控制时,我被告知我的数据库项目的 .dbmdl 文件已更改,即使我没有对项目进行任何更改!

我不确定这些更改是通过构建我的解决方案(其中还包括一个 ASP.NET MVC 应用程序和一个单元测试项目)还是通过简单地打开数据库项目来触发的,但这有点烦人,而且在源代码管理中造成混乱。

是否可以阻止这些更改的发生,或者删除.dbmdl 文件?

【问题讨论】:

标签: sql-server database visual-studio visual-studio-2010 database-project


【解决方案1】:

我相信 Visual Studio 每次打开项目时都会序列化 dbmdl 文件。唯一可能的解决方法是保持项目打开。

【讨论】:

  • 感谢您的回答。如果我要更改项目的内容,这些更改会反映在.dbmdl 文件中吗?我正在考虑忽略版本控制中的文件 - 项目是否会在过期的.dbmdl 下正常运行?
  • 我不能肯定,但我不愿意冒险使用过期文件。
  • 根据stackoverflow.com/questions/3634649/… ,您的 dbmdl 文件不应签入 repo,并且永远不会过时。
  • 这里有一些关于 dbmdl 文件的信息 - blogs.msdn.com/b/bahill/archive/2009/02/24/…
【解决方案2】:

如果你删除 .dbml 文件,它会在没有错误或警告的情况下重新构建,所以我认为它只是一个用于引用、智能感知等的缓存文件。我将把它从源代码控制中排除。

【讨论】:

    【解决方案3】:

    查看相关问题here。每个用户的 .dbmdl 文件都是唯一的(以及某种缓存,如上所述),因此正确的解决方案确实是将其从源代码控制中排除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 2023-03-20
      • 2014-07-10
      • 1970-01-01
      相关资源
      最近更新 更多