2010-11-23 2 views
3

Я изучаю Linq. Большинство примеров Linq доступны в формате выражения запроса. Чтобы лучше понять это, я хотел бы узнать, как выглядит выражение запроса в точечной нотации или синтаксисе лямбда. Хотя я могу перевести простые выражения запросов в формате точек, я нахожусь в том, что, когда выражения становятся сложнее.Linq - преобразование выражений запроса в точечную нотацию

Существуют ли общие правила для этого преобразования вручную?

Также есть инструмент, который может сделать такое преобразование для меня из выражения запроса в формат точки и наоборот? Компилятор C# предварительно обрабатывает выражение запроса в формате точки перед выполнением компиляции. Если такого инструмента нет, есть способ взглянуть на предварительно обработанный код перед его компиляцией?

ответ

6

Да, возьмите себе копию LINQPad. Это отличный инструмент для изучения LINQ. Инструмент является бесплатным и позволяет сделать очень простое и очень сложное прототипирование LINQ. Вы также можете чередовать код C#. Он покажет вам ваши запросы в форме Lambda и покажет вам полученный T-SQL-код, если вы запрашиваете базу данных.

Настоятельно рекомендуется.

0

Для инструментов я бы предпочел предложение Рэнди. Однако я бы сказал, что также стоит прочитать спецификацию языка C#, которая показывает, как все это работает, объясняя прозрачные идентификаторы и тому подобное. Вы должны иметь возможность использовать спецификацию для прогнозирования того, что инструмент покажет вам.

+0

Согласовано. Он ДЕЙСТВИТЕЛЬНО помогает понять, что показывает LinqPad. – 2010-11-23 19:18:19