Заказ подпунктов Entity Framework для EditorFor - PullRequest
3 голосов
/ 28 августа 2010

Я видел Упорядочение вложенных элементов в упорядоченных элементах в запросе Linq to Entities , что говорит о том, что нет способа заставить репозиторий вернуть вложенные элементы в графе объектов в определенном порядке. .

Если это правильно, есть мысли о том, как заказать элементы в EditorFor?

т.е.

 //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) %>

Так есть ли способ сортировки дочерних объектов в графе, чтобы использовать их с EditorFor, не прибегая к сборке объектов POCO, дублирующих объекты EF в любом порядке?

1 Ответ

1 голос
/ 28 августа 2010

Это отличный случай для ViewModel.ViewModels обертывают модель Entity Framework и представляют данные в точном соответствии с требованиями View, для которого они предназначены.Выполните сортировку в ViewModel и привяжите EditFor к пользовательскому свойству.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...