Почему LINQ-to-Entities помещает этот запрос во вложенный выбор?

У меня есть следующий LINQ-запрос:

var queryGroups = (from p in db.cl_contact_event
                   select new Groups { inputFileName = p.input_file_name }).Distinct();

Который при запуске преобразуется в следующее:

SELECT 
[Distinct1].[C1] AS [C1], 
[Distinct1].[input_file_name] AS [input_file_name]
FROM ( SELECT DISTINCT 
       [Extent1].[input_file_name] AS [input_file_name], 
       1 AS [C1]
       FROM [mel].[cl_contact_event] AS [Extent1]
)  AS [Distinct1]

Теперь я почти уверен, что причина вложенного выбора заключается в том, что у меня есть базовый запрос LINQ, окруженный (), а затем выполнить .Distinct(), но я недостаточно знаю о LINQ, чтобы быть уверенным в этом. Если это действительно так, есть ли способ реструктурировать/закодировать мой запрос, чтобы не происходило подвыборки?

Я знаю, что может показаться, что я просто придираюсь к мелочам, но мне просто любопытно.

7
задан user7116 26 June 2012 в 22:38
поделиться