Существует ли способ создать SQL запросом LINQ?

Я разрабатывал страницу ASP.NET и использовал LINQ для обработки говорящий с SQL-сервером MS. Я в порядке в основном SQL, однако я намного лучше с разработкой запросов с помощью LINQ. Я знаю, что они подобны, но я нахожу это easer для разработки сложных запросов в LINQ. Мой вопрос - это: существует ли способ разработать запрос в LINQ и затем получить SQL, который он генерировал? Я хотел бы встроить SQL в хранимую процедуру, так как несколько страниц (вне моего управления) должны будут сделать тот же запрос.

5
задан Gholamali-Irani 16 January 2018 в 18:34
поделиться

4 ответа

Да. Контекст базы данных LINQ имеет свойство Log, которое выводит SQL, который он выполнял. Вы также можете сделать это с помощью бесплатного продукта под названием LinqPad и коммерческого продукта под названием Linqer.

6
ответ дан 13 December 2019 в 19:27
поделиться

Вы можете получить его 2 способами:

  1. Использовать LINQPad
  2. использовать ToString() для запроса, чтобы получить его SQL форму:

    var запрос = от x в SomeTable где x.SomeField == 5 выберите x.SomeOtherField; Console.WriteLine(запрос. ToString());

3
ответ дан 13 December 2019 в 19:27
поделиться

Если вы хотите получить более углубленную информацию, вы можете использовать LINQ в SQL Profiler , которые будут отображать все запросы, а также Alerts

1
ответ дан 13 December 2019 в 19:27
поделиться

, когда Написание операторов LINQ, которые выполняются против SQL Server, всегда Healball их в SQL Server Profiler. Интерпретация, которая выполняется внутри SQL, часто удивляет вас.

В инструментах производительности / SQL Server Profiler начните новый след.

Выполните ваш запрос в вашем приложении, Возьмите вывод из профилирования Вставить в анализатор запроса SQL Server

1
ответ дан 13 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: