11

Występuję w małym, ale dziwnym rozdrażnieniu, które zdaje się dziać także u innych osób (na przykład check out the revision history of SEDE). Mam projekt bazy danych SQL Server 2008 w Visual Studio 2010, który działa poprawnie. Kiedy idę do commit/checkin do kontroli źródła, powiedziano mi, że mój plik projektu DB .dbmdl zmienił się, nawet gdy nie wprowadziłem żadnych zmian w projekcie!Dlaczego zmienia się plik .dbmdl mojego projektu DB, nawet jeśli nie wprowadzam żadnych zmian w projekcie?

Nie jestem pewien, czy zmiany są uruchamiane przez budowanie mojego rozwiązania (które obejmuje również aplikację ASP.NET MVC i projekt testów jednostkowych) lub po prostu otwarcie projektu DB, ale robi się to denerwujące i tworzy bałaganu w kontroli źródła.

Czy można zatrzymać te zmiany lub pozbyć się pliku .dbmdl?

+0

możliwy duplikat [Jaka jest funkcja pliku DBMDL w projekcie bazy danych VS] (http://stackoverflow.com/questions/3634649/what-is-function-of-the-dbmdl-file-in -vs-database-project) –

Odpowiedz

6

Wierzę, że Visual Studio serializuje plik dbmdl za każdym razem, gdy projekt jest otwarty. Jedynym możliwym do wykonania rozwiązaniem byłoby pozostawienie projektu otwartego.

+0

Dzięki za odpowiedź. Gdybym miał zmienić zawartość projektu, czy te zmiany zostałyby odzwierciedlone w pliku '.dbmdl'? Zastanawiam się po prostu ignorowanie pliku w kontroli wersji - czy projekt będzie poprawnie działał z nieaktualnym '.dbmdl'? –

+0

Nie mogę powiedzieć na pewno, ale niechętnie ryzykowałbym używanie nieaktualnego pliku. –

+9

zgodnie z http://stackoverflow.com/questions/3634649/what-is-function-of-the-dbmdl-file-in-vs-database-project/3766902#3766902, plik dbmdl nie powinien być sprawdzany do repozytorium i nigdy nie będzie nieaktualna. –

18

Jeśli usuniesz plik .dbml, zostanie on odbudowany bez błędów i ostrzeżeń, więc myślę, że jest to po prostu plik pamięci podręcznej dla odniesień, intellisense, itp. Zamierzam wykluczyć go z kontroli źródła.

4

Zobacz powiązane pytanie here. Plik .dbmdl jest unikalny dla każdego użytkownika (i pewnego rodzaju pamięci podręcznej, jak wspomniano powyżej), a więc właściwym rozwiązaniem jest wykluczenie go ze sterowania źródłowego.

Powiązane problemy