Aktuelles Projekt starten:ExpressMapper Tutorial Annahmen - ich weiß nicht, wo
- ASP.NET 4.5.2
- MVC 5
- EF 6
In aller Ehrlichkeit Ich habe noch nie zuvor einen Mapper benutzt, und während der ExpressMapper tutorial über die Höhenhöhen springt, macht er mehrere Annahmen über Wissen, das ich nicht habe.
So in keiner allgemeinen Ordnung:
Das Produkt soll all seinen Code an einem Ort zentralisiert haben. Wo ist dieser Ort? Wo soll ich es hinstellen? Die Beispiele beginnen mit,
public void MappingRegistration() {
Mapper.Register<Product,ProductViewModel>();
}
Aber ich weiß nicht, wo ich das hinstellen soll. Geht es in eine eigene Datei oder befindet es sich in einer anderen Datei, beispielsweise in App_Start?
Wenn es woanders im Projekt ist, erstelle ich es unter seinem eigenen Namensraum?
Wenn ich ein ViewModel habe, das anders gefüllt ist als sein dataModel, wie handhabe ich jeden Typ separat? Wie in, werden die Daten aus der DB herausgezogen und füllen das viewModel mit völlig anderen Bedingungsregeln, als dass die Daten aus dem viewModel abgerufen und in die Datenbank eingefügt oder in die Datenbank zurück aktualisiert werden.
Wie bringe ich externe Bedingungen ein, die sich darauf auswirken, wie die Daten und welche Daten in die Datenbank eingefügt werden, z. B. die Rolle des Benutzers, ihre Benutzer-ID und ihren Benutzernamen und verschiedene Projekteinstellungen? Abhängig von den Bedingungen können einige Einträge mit einem Nullwert anstelle eines tatsächlichen Werts enden. Wie kann ich eine Geschäftslogik-Validierung unter Verwendung dieser Bedingungen durchführen (der Benutzer aktualisiert tatsächlich seinen eigenen Datensatz, indem er seine Sitzungs-Benutzer-ID mit der in der Datenbank gespeicherten Benutzer-ID vergleicht)?
Momentan mache ich eine Menge manuelles Mapping in den Modellen, aber das ist problematisch, vor allem da die Methode, die ich benutze (um Code im Controller zu reduzieren) bedeutet, dass ich während eines Updates keinen Eintrag in der DB vor dem Aktualisieren in der DB.