Frage

In der Datenbank gibt es vielleicht ein Dutzend Tabellen, die Lookup-Typen repräsentieren (Alle haben Identifikation und Name Spalten - Nein, sie müssen als separate Tabellen bleiben, werden nicht in eine Tabelle normalisiert werden). Ich baue eine Administrationsanwendung, wo ich möchte ein Administrator alle diese Abfragen zu können, hinzufügen / bearbeiten / löschen / auflisten. Ich weiß, ich kann das Modell wiederverwenden, aber ist es eine effizientere Möglichkeit für mich, diese mvc 2-Anwendung, die nicht schreibt 3 Aufrufe, 1 Controller für jeden Lookup-Typen in einer ASP in 48 Ansichten resultierenden und 12 Controller zu schreiben?

War es hilfreich?

Lösung

Ich würde nicht empfehlen, die Kopplung zwischen Ihren Modellen zu entfernen, die Controllern und Ansichten. Die Idee hinter diesem Muster ist, dass Sie die Geschäftslogik von der Präsentation aus dem Workflow zu trennen bekommen. Wenn Sie mehrere Modelle in die gleichen Ansichten / Controller Mixen, es wird chaotisch.

Vielleicht versuchen zu tun, was Sie versuchen, eine Masterseite verwenden und mit Ihren Modellen von einer gemeinsamen Basisklasse oder so ähnlich statt erben? Auf diese Weise können Code ohne Zerschlagung sie in die gleichen Dateien wiederverwenden können.

Andere Tipps

Was ist ein erweiterte ORM-Mapping, die alle von ihnen in zu einer einzigen Einheit kombiniert?

ich tun würde, dies mit einem Controller und eine Aktion / Ansicht für jeden CRUD Betrieb (1x4). Wann und ob die Schemaänderungen an einem oder mehreren Lookup-Tabellen, würde ich damit umgehen dann. Ansonsten denken Sie an die Arbeit zur Folge, wenn Sie eine Spalte jeder der Tabellen hinzufügen: Sie würden 48x12 oder was auch immer Dateien zu aktualisieren.

Die Besonderheiten, wie Sie es tun auf Ihrem Modell ab, sondern es einfach mit ADO.NET und Rückkehr einer Datentabelle oder ähnliches bevölkert mit einer dynamischen SQL-Anweisung getan werden könnte, wo der Tabellenname der Ansicht geliefert wird. Sie müssten vor SQL-Injection schützen, natürlich, wenn Sie die String-Verkettung verwendet haben.

Die

Erstellen Ansicht würde ähnlich die Tabellennamen verwenden, um von der entsandten Form kommen zu wissen, welche Tabelle mit den eingestellten Daten zu aktualisieren.

Schauen Sie in T4 Vorlagen ( anständig Beispiel ) alles zu bauen. Sie sollten gen die Controller und Ansichten der Lage sein, jedes Modell basiert codieren.

Sorry, meine Antwort mit den 48 Ansichten gehen und 12 Controller ... hat den Code gen so einrichten, dass, wenn Sie mehr Lookup-Typen hinzufügen, alles, was Sie tun müssen, ist den Code erneut ausführen, und boom, Controller und Ansichten eingerichtet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top