2011-03-28 15 views
5

Korzystanie z pierwszego kodu dostępnego w nowym 4.1 RC.Zachowaj zawartość bazy danych przy zmianie modelu

Czy istnieje sposób na utrwalenie bieżących danych przechowywanych w bazie danych po zmianie trybu? Baza danych jest tworzona przez strukturę encji i zazwyczaj baza danych jest usuwana i ponownie tworzona po zmianie modelu.

Oczywiście zaraz po zmianie modelu nie będzie można użyć obiektu kontekstowego do połączenia z bazą danych w celu pobrania danych, więc jakie są opcje?

+0

Może być powiązane jakoś z http://stackoverflow.com/questions/4485742/ef-code-first-recreate-database-if-model-changes –

Odpowiedz

3

Kod najpierw nie obsługuje jeszcze migracji/ewolucji bazy danych. Jeśli chcesz zrobić przyrostowy model rozwoju DB najpierw (EDMX) z DbContext Generator T4 szablon i Entity designer database generation paczka, która jest w stanie stworzyć diff. skrypty z modelu.

2

From Scott Gu:

Co ważne, chociaż, automatycznego tworzenia bazy danych opcja jest tylko opcja - to na pewno nie jest to wymagane. Jeśli ustawisz ciąg połączenia w istniejącej bazie danych , to EF "najpierw" nie spróbuje automatycznie utworzyć jednego . Auto-odtworzyć również opcja nie zostanie włączona, chyba jawnie chcą EF to zrobić - tak nie trzeba się martwić o to upuszczanie i odtworzenie bazy danych chyba że wyraźnie wskazano ci chcą go aby to zrobić.

+0

Ale to również oznacza, że ​​będę musiał ręcznie edytować schemat bazy danych dopasować tryb ponownie? –

+0

Prawdopodobnie ... Szczerze mówiąc, nie sądziłem, że to była tak wielka sprawa, ale wygląda na to, że kod pierwszy nie będzie utrzymywał synchronizacji modelu i bazy danych bez przepisywania DB – taylonr

Powiązane problemy