2012-08-29 9 views
7

Przepraszam, jeśli jest w niewłaściwym miejscu, ale myślę, że tak.Najlepsza praktyka do edycji kodu generowanego automatycznie przez MVC3?

Tak więc podczas tworzenia aplikacji internetowej MVC3 użyłem pierwszej metody bazy danych i moje klasy zostały wygenerowane dla mnie. Jestem nowy w MVC3 i całkiem nowy w C# i visual studio, chociaż mam trochę doświadczenia.

Automatycznie wygenerowany kod ostrzega, że ​​edycja może spowodować nieoczekiwane wyniki, a zmiany zostaną usunięte po ponownym wygenerowaniu kodu. Jak rozumiem, oznacza to zmiany w bazie danych, ponowne uruchamianie plików tt lub aktualizację modelu.

Czy to jest dobra praktyka, aby ją edytować, i po prostu śledzić zmiany, które muszę wykonać, aby się zregenerować, czy może jest lepszy sposób, żeby się z tym pogodzić?

Dzięki za pomoc.

Odpowiedz

11

Wygenerowane klasy powinny być klasami partial, więc powinieneś być w stanie zarządzać zewnętrznymi ulepszeniami, tworząc własną klasę partial o tej samej nazwie i nazwie.

+0

Słowo kluczowe "częściowe" +1 to właściwy sposób na zarządzanie wspólnie generowanym i dostosowanym kodem. – TcKs

+0

Dziękuję, przeczytam na temat klas częściowych i jak je połączyć. Przyjmę, kiedy mi pozwoli. :) – Bohdi

+0

Więc jeśli mam publiczny "plik stronicowania klas" w pliku klasy o nazwie pages.cs a strona klasy generowanej automatycznie nazywa się strona news_page, ale nazywana jest także "klasą stron częściowych", czy to działa? oba są w modelu i oba w ramach tego samego projektu przestrzeni nazw.Modele. Jednak automatycznie wygenerowana klasa częściowa znajduje się w pliku .edmx. czy druga połowa klasy cząstkowej również musi zostać tam przeniesiona? – Bohdi

1

W modelu pierwszym podejściu, przy użyciu domyślnej strategii generowania kodu dla ciebie, EDMX, klasy wygenerowane dla ciebie DbContext i Entity klasy są wszystkie klasami częściowymi.

Tak więc, w zależności od rodzaju zmian, jeśli chcesz rozszerzyć te wygenerowane klasy, po prostu utwórz nową klasę częściową z niestandardowym kodem. Twoje częściowe nie zostaną nadpisane przez generator kodu.