2017-05-30 2 views
0

Also ich habe einen Online-Shop. Jeder Artikel hat eine productID (die abstrakte Art des Produkts wie PC, Laptop, Auto, Blume usw.). Also muss ich den Produkttyp in meiner Sicht haben. Aber ich möchte den Produkttyp nicht manuell jeden Typ meines Controllers übergeben. Ist es eine gute Idee, wenn ich das Kategorie-Repository verwende, um die Produkt-ID mit dem Produkttyp innerhalb meines View-Model-Konstruktors abzugleichen?ASP.NET MVC 5 - Repository im View-Modell verwenden?

+0

Die Verwendung eines Enum-Typs für diese Art von Sache kann sehr praktisch sein. Es hat den Nachteil, dass es mit der db-Tabelle synchronisiert werden muss, aber Sie können dies mehr als wettmachen, indem Sie nicht jedes Mal die db drücken müssen. Plus, Tabellen ändern sich selten. – nurdyguy

Antwort

0

Was ich an deiner Idee ein bisschen falsch finde, ist, dass du das View-Modell mit dem Repository mischt, was etwas unordentlich zu sein scheint. Ich denke, es wäre eine etwas sauberere Lösung, alle benötigten Entitäten zuerst zu laden und sie dann im zweiten Schritt in ein Modell zu mappen. Im Falle einer Performance ändert sich möglicherweise nicht viel (besonders wenn Ihr Repository beispielsweise Caching durchführt oder Lazy-Loading verwendet), nur dass der Code etwas sauberer ist: 1. Alle erforderlichen Daten aus dem Speicher/Cache holen 2 Die Karte erstellen, um Modelle zu erstellen