Выбор поменялся местами, потому что он представляет порядок вызовов метода, который представляет синтаксис запроса LINQ.
Это эквивалентно
customers.Select(c=>c);
или
customers.Select();
SQL сходит с рук, обрабатывая весь оператор перед продолжением, но для того, чтобы получить такие вещи, как intellisense и выяснить, является ли ваш выбор допустимым, он должен быть последним, а не первым.
Возможно, вы захотите взглянуть на FLWOR, который представляет собой более близкое представление, которое обозначает для , let , , где , orderby и возврат . Вы заметите, что для , что эквивалентно from, является первым; и return , который эквивалентен select, является последним.
SQL здесь больше аномалия. Как узнать, над чем вы работаете, прежде чем указывать свой домен.