我见过Ordering sub-items within ordered items in a Linq to Entities Query表示没有办法让存储库按特定顺序返回实体图中的子项。
如果这是对的,有关如何在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对象?
答案 0 :(得分:1)
这是ViewModel的绝佳案例。 ViewModels包装实体框架模型,并以与其设计的视图所需的方式精确地呈现数据。在ViewModel中执行排序,并将EditFor绑定到自定义排序属性。