Sto cercando aiuto per progettare il codice per creare un menu che mostri più categorie. Attualmente, il codice (classico asp) effettua una chiamata al database e quindi scorre i risultati, quindi è tutto in linea. Sto effettuando il porting del codice su MVC 5 / C #. Quello che sto facendo ora è ottenere tutte le categorie dal database, passandole alla vista, e poi per ogni categoria faccio scorrere i risultati per creare le voci del menu. Questo non sembra il piano peggiore, ma ha l'odore del codice di dover eseguire una query linq per ogni categoria nella vista del rasoio. Quindi spero che qualcuno là fuori possa avere un'idea migliore o mi faccia sapere se questa è un'opzione accettabile. Solo per aggiungere alla conversazione, ecco le opzioni che attualmente penso che io possa scegliere.
Opzione 1: crea un ViewModel con tutte le categorie già separate. In questo caso, gestirò tutto l'ordinamento nel controller e quindi tutta la vista farebbe iterare i risultati. Il richiamo alla mia mente è che qualsiasi modifica alla struttura del menu mi obbliga a cambiare il modello di visualizzazione, quindi devo aggiornare i file sul server.
Opzione 2 (una che sto usando ora) - Imposta l'elenco delle categorie come modello per la vista e nel codice del rasoio, lascia filtrare le categorie di cui ho bisogno per il particolare gruppo di menu e quindi scorrere su di esse per creare il voci del menu. Questo mi dà più flessibilità, dal momento che posso cambiare la vista senza dover ricompilare il codice. Lo svantaggio consiste nel dover eseguire query linq nel codice.
Se qualcuno può pensare ad altre valide opzioni, gradirei l'aiuto.