Подтвердить что ты не робот

Запросить SQL-запрос в EF-коде First

Я использую Entity Framework Code First, и я хотел бы иметь возможность записывать все SQL-запросы, созданные DbContext. В Linq to sql был DB-журнал, и я не могу найти его в EF. Затем я мог бы оставить их в журнале или вывести его на страницу.

Я использую версию 4.1.0.0 сборки EntityFramework.

4b9b3361

Ответ 1

Лучше всего использовать Entity Framework Profiler, хотя он, к сожалению, не бесплатный.

Вы также можете вручную получить SQL, который он будет генерировать, запустив ToString() в самой IQueryable, но это нужно сделать для каждого запроса.

Один из последних вариантов заключается в том, что если вы используете сервер MS Sql в качестве своего внутреннего сервера, вы можете загрузить Sql Server Profiler (который поставляется с Sql Server Management Studio, который, как я полагаю) и зарегистрировать SQL-запросы оттуда.

Ответ 2

С такими инструментами, как EF, становится более важным, чем когда-либо, использовать SQL Server Profiler, и он должен быть основным инструментом, используемым для такого типа ситуаций, если было важно, когда мы на самом деле писали запросы, это еще более важно сейчас что эти инструменты собирают запросы для нас, это необходимо не только для отладки, но и для оптимизации

Ответ 3

Miniprofiler бесплатная альтернатива профилировщику структуры сущности, которая позволит вам отслеживать все запросы sql, сделанные во время веб-запросов