Посмотреть EF4 сгенерированные запросы? - PullRequest
1 голос
/ 09 ноября 2010

LINQ-to-SQL имел несколько способов, включая надстройку визуализатора, для просмотра сгенерированного SQL из IQueryable.

Я не могу найти эквивалент для Entity Framework 4. Ничего в StackOverflow, нет блогов. Как это сделать?

Желательно, чтобы я мог делать это в коде и без необходимости фактически выполнять запрос, просто чтобы увидеть его.

Спасибо!

Ответы [ 6 ]

5 голосов
/ 10 ноября 2010

Есть несколько подходов к просмотру sql.

Free

  1. В ObjectQuery сделайте .ToTraceString (), которая покажет вам sql, сгенерированный для запроса.
  2. Загрузите провайдер трассировки ef, написанный одним из членов команды EF.E F Tracing Provider
  3. Визуализатор Linq To Entities, который можно загрузить здесь .
  4. LinqPad
  5. Sqlserver profiler

Коммерческий

  1. Efprof.com
2 голосов
/ 09 ноября 2010

Смотрите мой ответ здесь: Linq & String.ToLower () странное поведение

Позволяет выгружать SQL для трассировки или где угодно.

2 голосов
/ 09 ноября 2010

Если вы не можете заставить работать другие решения, вы можете попробовать использовать SQL Server Profiler, если у вас есть доступ к SQL Machine.

В SQL Server Management Studio вы можете делать следующее:

Инструменты -> SQL Server Profiler.

Создайте новую трассировку и запустите свой код, и вы должны увидеть, что запросы встречаются. Вы можете создать несколько фильтров, чтобы не видеть элементы безопасности / аудита, которые вам, вероятно, не нужны.

1 голос
/ 09 ноября 2010

Привет, есть этот визуализатор ... но я не смог заставить его работать на меня ... вы можете попробовать это ... Я бы порекомендовал LINQPad для просмотра ваших запросовВы можете настроить соединение ef и выполнить ваши запросы.

0 голосов
/ 09 ноября 2010

В блоге MSDN размещен пример поставщика трассировки, который я использовал в проекте EF 3.5 . Не знаю, работает ли это и в EF4.

0 голосов
/ 09 ноября 2010

Вы пробовали это: http://blog.cincura.net/227674-how-to-show-sql-command-created-by-entity-framework/

Кстати, это был первый результат в Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...