Многие статьи blogsphere, связанные с разделением CQRS (команда query repsonsibility), по-видимому, подразумевают, что все экраны/режимы просмотра являются плоскими. например Имя, возраст, место рождения и т.д. И, следовательно, предположение о том, что внедрение мудрено, мы вставляем их в быстрый источник чтения и т.д. Отдельную таблицу для каждого представления mySQL и т.д. И вытаскиваем их с помощью чего-то вроде примитивного SqlDataReader, пинаем этого противного nhibernate ORM и т.д.
Однако, хотя я согласен с тем, что модели домена не хорошо сопоставляются с большинством экранов, многие из экранов, с которыми я работаю, являются более объемными, и я уверен, что это довольно часто в приложениях LOB.
Итак, мой вопрос заключается в том, как люди обращаются к экрану, где, например, он отображает сводку сведений о клиенте, а затем список своих заказов с ссылкой [подробнее] и т.д.
Я думал о том, что с прямым SQL-запросом в базу данных запросов, нарушающей внешнее соединение, можно построить подходящую ViewModel для просмотра, но она кажется излишней?
В качестве альтернативы (это начинает казаться yuck) в таблице CustomerSummaryView есть столбец text/big (независимо от типа в вашем DB), называемый Orders, а столбцы для сетки экрана сводки заказов разделены и строки by |, Даже с XML-типом данных он все еще грязный.
Любые мысли об оптимальной практике?