3
的訂購實體框架子項目我看到Ordering sub-items within ordered items in a Linq to Entities Query這表明,沒有辦法讓存儲庫以特定順序返回實體圖中的子項。EditorFor
如果這是正確的,有關如何訂購在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的人,但在所有順序圖子實體排序?
我已經在使用ViewModel來傳遞額外的數據,但是由於EF返回值非常大,我試圖避免遍歷並複製到POCO對象中。當你說「包裝EF模型」時,你的意思是包裝或「複製內容,但調整爲顯示」:在這種情況下,我需要改變的是訂單,因此複製到我自己的類中對於好處是很昂貴的。 – Andiih 2010-08-28 18:57:38
@Aniih,我想你試圖微觀優化。一般來說,您希望用戶在屏幕上使用的任何內容都不足以擔心複製。 – jfar 2010-08-29 14:29:37
你可能是對的,但情況是我顯示一個大圖(樹)的信息崩潰,然後允許用戶選擇他們看到的信息與jQuery。也許我應該用AJAX來做到這一點,但將所有內容發送到一個子彈(它的內部網絡,因此傳輸帶寬不是問題)似乎是一個好主意。我試着複製一下,看看我怎麼樣。 – Andiih 2010-08-29 15:38:26