Я создал приложение (веб-приложение), которое теперь имеет большое количество ассоциаций. Проще говоря, аккаунт:
- имеет много пользователей
- имеет настройки
- имеет много проектов
Аналогично проекту:
A Пользователь:
И так далее, с множеством ассоциаций. Надеюсь, в этом нет ничего необычного. Я решил использовать NHibernate, чтобы дать мне хороший набор постоянных классов с сопоставителями, определяющими все ассоциации.
Но правильный ли это подход? При каждом запросе к приложению Учетная запись загружается (поскольку она необходима), а затем запрашивает большой объем данных из БД, который не требуется. Ленивая загрузка - вариант, но я не знаю, мог ли мой начальный подход быть лучше. Все, что мне нужно на этом этапе, - это учетная запись и связанные с ней настройки, поэтому должно ли это отображать отображение? Проблема в том, что я хочу, чтобы такие вещи, как все проекты для учетной записи, были в других точках, поэтому мне нужно, чтобы картографы отражали все ассоциации.
Меня беспокоит то, что отложенная загрузка может просто компенсировать плохую исходную архитектуру с моей стороны. Я хорошо знаю, что это может быть результатом моих пока еще слабых знаний о внутренней работе NHibernate. В результате я был бы благодарен за любые предложения относительно хорошей практики.