2012-11-05 17 views
8

Ich benutze Repository-Muster in meiner ASP MVC4 App und ich dachte, es wäre schön, benutzerdefinierte Scaffold-Vorlagen zu erstellen, um zu vermeiden, den Code jedes Mal zu optimieren, wenn ich etwas erzeuge.Benutzerdefinierte Gerüst für Controller

Ich folgte einige Tutorials aus dem Internet. Ich kopierte das CodeTemplates-Verzeichnis von ProgramFiles in mein Projekt (nur einige der Dateien) und ich löschte die Custom Tool-Eigenschaft für jedes.

verwaltet I 2 Ziele zu erreichen:

  • überschreiben die Standardvorlage für Controller: wenn ich Steuerung gehen> Hinzufügen> Controller und wählen Sie „Steuerung mit Lese-/Schreib-Aktionen und Ansichten ....“ es verwendet meine Vorlage.
  • fügen Sie eine neue Ansichtsvorlage hinzu: wenn ich zu SomeViewFolder> Hinzufügen> Ansicht gehe, kann ich dort meine neue Vorlage auswählen.

Das, was ich war nicht in der Lage war zu erreichen, um eine neue Vorlage zu erstellen ControllerWithRepo.tt und der Lage sein, es in Controller wählen> Hinzufügen> Controller. Obwohl ich ControllerWithRepo.tt erstellt habe, wird es nicht in der Dropdown-Liste angezeigt.

Ich weiß, dass es möglich ist, zu tun, was ich will, indem ich Sachen in ControllerWithContext.tt hardcoding, aber es scheint, eine lahme Lösung zu sein. Ich würde es gerne richtig machen - eine Repository-Klasse anstelle der DbContext-Klasse zu übergeben und den Controller so zu generieren, wie ich es möchte.

Gerade jetzt Wenn ich versuche, meine Repository-Klasse als dbcontext zu setzen, kann es das Gerüst nicht ausführen.

Zusammenfassend, wie kann ich meine eigene Controller-Scaffold-Vorlage für Repository-Muster erstellen?

Antwort

0

Ich konnte das vorhandene ControllerWithRepository überschreiben, indem ich Steve Sanderersons post on Überschreibe die T4-Vorlagen.

Verwandte Themen