Wir stellen alle unsere DataAnnotations auf unsere Model-Klasse Customer. Wir zeigen dann eine Instanz des Kunden als eine Eigenschaft in unserem zugehörigen ViewModel zusammen mit einigen Nachschlagelisten für Länder usw. an und zeigen dies in unserer Ansicht an. Bis jetzt ist alles gut. Wir lesen dann auf SO und anderen Quellen, dass wir nicht unser gesamtes Kundenmodell-Objekt an die Ansicht übergeben sollten, nur um die Ansicht mit dem Nötigsten zu versorgen, das sie braucht, und noch wichtiger (für uns) zu verhindern Mögliche Probleme bei ModelBinding möglicherweise böswilliger Postbacks, die zusätzliche Informationen hinzufügen, um unsere Modelleigenschaften zu ändern, die andernfalls in der Ansicht nicht verfügbar waren.Anwenden von DataAnnotation-Attributen auf ViewModel von Modell
Wie erhalten wir all diese DataAnnotation-Attribute vom Modellobjekt und den möglicherweise reduzierten ViewModel-Eigenschaften, ohne das DRY-Prinzip über die Klippe zu werfen?
Sind wir auch richtig in der Annahme, dass wir TryUpdateModel nicht für eine Entität verwenden sollten, die wir aus der db ziehen? Ich denke, unsere Wahl ist, entweder TryUpdateModel zu verwenden und eine Ausschlussliste von Eigenschaften zu übergeben, die mir nicht besonders elegant erscheint, da die Liste nur ein Parameter vom Typ String ist. Oder vielleicht sollten wir TryUpdateModel abschaffen und ein Tool wie AutoMapper verwenden, das typsicherer ist?
Vielen Dank für Ihre Gedanken zu diesen Themen.