2012-08-29 6 views
7

Es tut mir leid, wenn das an der falschen Stelle ist, aber ich denke es ist.Best Practice für die Bearbeitung von MVC3 automatisch generiertem Code?

Also ich beim Erstellen einer MVC3 Internet-Anwendung habe ich eine Datenbank erste Methode verwendet und meine Klassen wurden für mich generiert. Ich bin neu in MVC3 und ziemlich neu in C# und Visual Studio, obwohl ich ein wenig Erfahrung habe.

Der automatisch generierte Code warnt davor, dass die Bearbeitung zu unerwarteten Ergebnissen führen kann, und die Änderungen werden entfernt, wenn der Code neu generiert wird. Nach meinem Verständnis bedeutet das Änderungen an der Datenbank, erneute Ausführung der tt-Dateien oder Aktualisierung des Modells.

Aber ist es in Ordnung, es zu bearbeiten, und behalten Sie einfach eine Spur von Änderungen, wenn ich regenerieren muss, oder gibt es einen besseren Weg, um darüber zu gehen?

Danke für jede Hilfe.

Antwort

11

Die generierten Klassen sollten partial Klassen sein, so dass Sie in der Lage sein sollten, Verbesserungen extern zu verwalten, indem Sie Ihre eigene partial Klasse mit demselben Namespace und Namen erstellen.

+0

+1 "teilweise" Schlüsselwort ist der richtige Weg, wie automatisch generierten und benutzerdefinierten Code zusammen verwalten. – TcKs

+0

Vielen Dank, lese die Teilklassen und wie man sie zusammenstellt. Wird akzeptieren, wenn es mich lässt. :) – Bohdi

+0

Also, wenn ich eine öffentliche 'partielle Klasse pagetest' in einer Klassendatei namens pages.cs hat und die automatisch generierte Klassenseite news_page heißt, aber auch 'partielle Klasse pagetest'wird das funktioniert? Sie sind beide im Modell und beide unter dem gleichen Namespace-Projekt.Modelle. Die automatisch generierte partielle Klasse befindet sich jedoch in der EDMX-Datei. Muss auch die andere Hälfte der Teilklasse dorthin verlegt werden? – Bohdi

1

Im ersten Ansatz des Modells, mit der Standard-Code-Generierungsstrategie für Sie EDMX Datei, die Klassen für Sie generiert DbContext und Entity Klassen sind alle Teilklassen.

Also, je nach Art der Änderungen, wenn Sie diese generierten Klassen erweitern möchten, erstellen Sie einfach eine neue partielle Klasse mit benutzerdefinierten Code darin. Ihre Partials werden nicht vom Code-Generator überschrieben.

Verwandte Themen