EF Model First update database

0

Cześć,

Ogarniam Entity Framework i zawiesiłem się na Model First. Zrobiłem model bazy danych w VS, utworzyłem bazę danych na serwerze, podczytałem dane i wszystko śmiga. Następnie zmieniłem tabele w modelu zrobiłem update bazy danych. Niestety po update wszystkie dotychczasowe dane znikają (czytałem, że tak ma być i jest OK) i teraz mam pytanie: w jaki sposób mogę zachować dotychczasowe dane w bazie po update modelu? Czy jest coś podobnego do migracji jak w Code First?

1

Podobno to pozwala na aktualizowanie bazy danych w przypadku EF bez tracenia danych - https://visualstudiogallery.msdn.microsoft.com/df3541c3-d833-4b65-b942-989e7ec74c87/. Nigdy tego nie testowałem, gdyż uważam, że podejście "Model First" jest po prostu niefajne i niepotrzebne.

0

Dzięki za info.
Jeżeli Model First jest nie polecany to jakie podejście proponujecie do baz danych i EF? Code First czy Database First?

Pozdrawiam

0
Biały Mleczarz napisał(a):

Jeżeli Model First jest nie polecany to jakie podejście proponujecie do baz danych i EF? Code First czy Database First?

Bardzo generalizując można to sprowadzić do pytania czy w danej aplikacji jest ważniejsza logika biznesowa czy dane (i ich przechowywanie) na których ona operuje jeśli:

logika -> CodeFirst
dane -> Database First

Obecnie w tworzeniu aplikacji biznesowych panuje trend, że przechowywanie danych jest tylko szczegółem implantacyjnym czyli warstwa biznesowa jest znacznie ważniejsza od warstwy przechowywania danych, czyli CodeFirst > Database First.

0
neves napisał(a):

Obecnie w tworzeniu aplikacji biznesowych panuje trend, że przechowywanie danych jest tylko szczegółem implantacyjnym czyli warstwa biznesowa jest znacznie ważniejsza od warstwy przechowywania danych, czyli CodeFirst > Database First.

Tak dokładnie, chociaż jakiś czas temu proces budowy aplikacji rozpoczynało się od wytworzenia bazy danych. Spotkałem się również z programistami, którzy nadal twierdzą, iż taki proces budowy oprogramowania od bazy i z wykorzystaniem Database First przy korzystaniu z EF jest jedynym właściwym.

1

Od siebie dodam, że Database First jest idealny dla ludzi, którzy lubią tracić czas na robienie tego z czym doskonale radzi sobie maszyna oraz wszelkich miłośników biegania z pustymi taczkami.

0
somekind napisał(a):

Od siebie dodam, że Database First jest idealny dla ludzi, którzy lubią tracić czas na robienie tego z czym doskonale radzi sobie maszyna oraz wszelkich miłośników biegania z pustymi taczkami.

Zgadza się.

Ale Database First jest niezastąpiony gdy musisz zrobić aplikację, która korzysta właśnie z konkretnej bazy danych, np. robisz oprogramowanie korzystające z danych sklepu internetowego, zrobionego przez kogoś innego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1