3 Stimmen

Anordnen von Entity Framework-Unterelementen für EditorFor

Ich habe gesehen Ordnen von Unterpunkten innerhalb geordneter Elemente in einer Linq to Entities-Abfrage was darauf hindeutet, dass es keine Möglichkeit gibt, das Repository dazu zu bringen, Unterelemente in einem Entitätsdiagramm in einer bestimmten Reihenfolge zurückzugeben.

Wenn das richtig ist, gibt es eine Idee, wie man die Elemente in einem EditorFor anordnen kann?

d.h.

 //This works but returns a random order
 <%: Html.EditorFor(model => model.HPERDET.HORDERS) %>

 //This errors with "Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions."
 <%: Html.EditorFor(model => model.HPERDET.HORDERS.OrderBy(m=>m.APP_DATE)) %>

 //presorting the HORDERS into 
 //a public IOrderedEnumerable<HORDER> SortedHorders { get; set; } 
 //and ordering in my view model works, but breaks the binding because 
 //the generated html inputs no longer have the correct hierarchical names
 <%: Html.EditorFor(model => model.SortedHorders) %>

Gibt es also eine Möglichkeit, die Untereinheiten im Diagramm zu sortieren, um sie mit EditorFor zu verwenden, ohne auf POCO-Objekte zurückgreifen zu müssen, die die EF-Objekte in jeder Hinsicht duplizieren?

1voto

Dave Swersky Punkte 34052

Dies ist ein ausgezeichneter Fall für ein ViewModel. ViewModels umhüllen das Entity-Framework-Modell und stellen die Daten genau so dar, wie es die Ansicht erfordert, für die es konzipiert ist. Führen Sie die Sortierung im ViewModel durch und binden Sie das EditFor an die benutzerdefinierte sortierte Eigenschaft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X