Molti degli articoli di blogsphere relativi alla separazione di CQRS (command query repsonsibility) sembrano implicare che tutte le schermate/viewmodels siano piatte. per esempio. Nome, Età, Luogo di nascita ecc. E quindi il suggerimento che l'implementazione è saggio li inseriamo in sorgenti di lettura veloce ecc. Una sola tabella per vista mySQL ecc. E li estrae con qualcosa come SqlDataReader primitivo, calcia quel brutto NEGNO ORM ecc.CQRS - Il lato query
Tuttavia, mentre sono d'accordo sul fatto che i modelli di domini non sono mappati bene alla maggior parte degli schermi, molte delle schermate con cui lavoro sono più dimensionali, e sono sicuro che questo è piuttosto comune nelle applicazioni LOB.
Quindi la mia domanda è come sono persone schermata in cui, ad esempio, viene visualizzato un riepilogo dei dati dei clienti e poi un elenco dei loro ordini con un link [maggiori dettagli] ecc .... movimentazione
ho pensato mantenendo la query SQL diretta al database delle query interrompendo il join esterno, quindi è possibile creare un ViewModel adatto per View ma sembra eccessivo?
In alternativa (questo sta iniziando a sentire sfinimento) nella tabella CustomerSummaryView ha una colonna text/big (qualunque sia il tipo nel DB) chiamata Orders, e le colonne per la griglia di riepilogo dell'ordine sono separate da, e righe per |. Anche con il tipo di dati XML è ancora sporco.
Qualche idea su una pratica ottimale?
Questo enigma è un documento motivo o chiave di archiviazione/valore vede l'uso in CQRS. Si unisce vanno bene, ma a quel punto un documento DB potrebbe adattarsi meglio di un RDBMS per lo stoccaggio del modello di lettura. –
@qes, non potrei essere più d'accordo. Se stai facendo CQRS con un db relazionale, ti stai iscrivendo a un grosso lavoro. Fattibile, ma grande –