Как отмечает Крейг Штунц в комментариях к вопросу, вы должны быть осторожны с профилированием кода Linq, поскольку отложенная загрузка отложенное выполнение может исказить ваши результаты профилирования.
Чтобы получить четкое представление, вам нужно будет позвонить ToList()
, чтобы заставить запрос полностью выполнить, а затем вам придется сделать то же самое на втором примере, чтобы превратить его из яблок в яблоки.
В любом случае, если бы второй запрос был переписан так, чтобы он возвращал IEnumerable IQueryable с одним объектом клиента вместо одного объекта клиента, эти два оператора были бы функционально идентичны.