Как правило, несколько запросов менее эффективны, поскольку для каждого из них может потребоваться обмен данными в сети и некоторые другие издержки.Самое эффективное, что вы могли бы сделать, - это получить именно те данные, которые вам нужны, за наименьшее количество необходимых запросов.
С другой стороны, если вы используете пакетную обработку, вы можете выполнить несколько запросов за одну поездку базы данных, чтозаймет примерно столько же времени, что и доступ к объектам в одном запросе.
, если вы загружаете только пару объектов, это не имеет большого значения.Поддерживаемость бизнес-логики, которая, скорее всего, зависит от выбранного вами решения, является более важной.
Сложность соединений и строительных объектов может быть выполнена с помощью ORM.Вам не нужно реализовывать такие вещи самостоятельно.С NHibernate вы получаете возможность извлекать объекты, используя сложные запросы или отдельные экземпляры по идентификатору.И - он также поддерживает пакетную обработку ADO.NET и некоторые другие важные улучшения производительности.