views:

141

answers:

2

I'm running into a small but weird annoyance that seems to be happening to other people, too (for example, check out the revision history of SEDE). I have a SQL Server 2008 database project in Visual Studio 2010 that works properly. When I go to commit/checkin to source control, I'm told that my DB project's .dbmdl file has changed, even when I've made no changes to the project!

I'm not sure if the changes are triggered by building my solution (which also includes an ASP.NET MVC application and a unit test project) or by simply opening the DB project, but this is getting kind of annoying and is creating clutter in source control.

Is it possible to stop these changes from occurring, or get rid of the .dbmdl file whatsoever?

+1  A: 

I believe Visual Studio serializes the dbmdl file every time the project is opened. The only possible work around would be to keep the project open.

Joe Stefanelli
Thanks for your answer. If I were to change the project's contents, would those changes be reflected inside the `.dbmdl` file? I'm considering just ignoring the file in version control - will the project function properly with an out-of-date `.dbmdl`?
Maxim Zaslavsky
I can't say for sure, but I'd be reluctant to risk using an out-of-date file.
Joe Stefanelli
according to http://stackoverflow.com/questions/3634649/what-is-the-function-of-the-dbmdl-file-in-vs-database-project/3766902#3766902 , your dbmdl file should not be checked into the repo, and will never be out of date.
roman m
+1  A: 

If you delete the .dbml file, it is rebuilt without errors or warnings, so I think it's just a cache file for references, intellisense, etc. I'm going to exclude it from source control.

Gus Oakes