为什么即使我没有对项目进行任何更改,我的数据库项目的.dbmdl文件也会发生变化?

时间:2010-08-15 23:51:18

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

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

我不确定是否通过构建我的解决方案(其中还包括ASP.NET MVC应用程序和单元测试项目)或仅通过打开数据库项目来触发更改,但这有点令人讨厌并且是在源代码管理中创造混乱。

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

3 个答案:

答案 0 :(得分:18)

如果你删除.dbml文件,它会被重建而不会出现错误或警告,所以我认为它只是一个用于引用,智能感知等的缓存文件。我将把它从源代码控制中排除。

答案 1 :(得分:6)

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

答案 2 :(得分:4)

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