У меня относительно скромный набор данных (вероятно, 20 основных таблиц), но он запрашивает множество разных способов.
Иногда мы показываем товар. Иногда товар с его изображением. Иногда товар с его изображением и комментариями. Иногда продукт с его изображением и всеми пользователями, которые имеют продукт и их изображения.
и т.д.. (и под «и т. д.» я подразумеваю «МНОГО больше перестановок»)
LINQ имеет средства для обеспечения того, чтобы наши запросы собирали всю необходимую информацию через DataLoadOptions. Однако, если вы хотите сделать что-то вроде «просто покажите мне 5 комментариев», вы теперь используете метод AssociateWith для DataLoadOptions, который сейчас (на мой взгляд) неудобно расположен близко к БД, чтобы, к примеру, открывать файлы codebeside в ваши страницы ASPX.
Итак - мне любопытно, как люди справляются с этим? Действительно ли они создают слой модели с такими методами, как GetProductsWithPicturesAndUsersAndUserComments (int commentLimit, int pictureSize ...
... с каждой перестановкой? Особенно из опыта Rails, где они это выяснили, это решение кажется очень уродливым. Итак, я надеюсь, что есть что-то еще. Интересно, что переживают другие.
Спасибо!
Том