Отключите отложенную загрузку, если вы беспокоитесь о производительности, если нет, не надо.
Лично мы отключаем отложенную загрузку, а явно разрешает включение навигационной системы.свойства через контракт интерфейса для наших репозиториев, например:
ICollection<Person> FindSingle(int personId, string[] includeAssociations);
Таким образом, мы затем eager-load ТОЛЬКО навигационные свойства, если вызывающий код специально его запрашивает.Это все равно, что сказать коду: «Эй, если вам нужна дополнительная информация об этом T, спросите его, иначе вы не получите его!».
Что касается 1- *, конечно,свойства нулевые.Навигационные свойства обычно реализуются как ICollection<T>
для объектов, поэтому, если там ничего нет, коллекция не создается.
Вы могли бы противодействовать этому эффекту, создавая пустую коллекцию, а не нулевую при выполнении ваших запросов.Однако я предпочитаю нулевую коллекцию экземпляру с 0 экземплярами.