Muchos de los artículos de blogsphere relacionados con la separación de CQRS (repsonibilidad de la consulta del comando) parecen implicar que todas las pantallas/viewmodels son planas. p.ej. Nombre, edad, ubicación de nacimiento, etc. y por lo tanto, la sugerencia de que la implementación en cuanto a los datos los ingrese en una fuente de lectura rápida, etc. tabla única por vista mySQL, etc. y extráigalos con algo así como SqlDataReader primitivo, patee ese desagradable nhibernate ORM etc.CQRS: el lado de la consulta
Sin embargo, aunque estoy de acuerdo en que los modelos de dominio no se corresponden bien con la mayoría de las pantallas, muchas de las pantallas con las que trabajo son más dimensionales, y estoy seguro de que esto es bastante común en aplicaciones LOB.
Así que mi pregunta es ¿cómo son las personas pantalla en la que por ejemplo se muestra un resumen de los datos del cliente y, a continuación una lista de sus órdenes con un enlace [más detalle] etc .... manipulación
pensaba manteniendo la consulta directa de SQL a la base de datos de Query rompiendo la combinación externa para que pueda construir un ViewModel adecuado para ver, pero parece exagerado?
Alternativamente (esto empieza a parecer asqueroso) en la tabla CustomerSummaryView tiene una columna text/big (cualquiera que sea el tipo en su base de datos) llamada Orders, y las columnas de la cuadrícula de pantalla Resumen de pedidos están separadas por, y filas por | Incluso con el tipo de datos XML todavía está sucio.
¿Alguna idea sobre una práctica óptima?
Este enigma es una de las razones por las cuales el almacenamiento de documentos/claves/valores se usa en CQRS. Las uniones están bien, pero en ese momento un documento DB podría encajar mejor que un RDBMS para el almacenamiento del modelo de lectura. –
@qes, no podría estar más de acuerdo. Si está haciendo CQRS con una base de datos relacional, se registra para un gran trabajo. Factible, pero grande. –