Entity Framework - Просмотр Sql с использованием toTraceString
Я пытаюсь просмотреть сгенерированный sql, который Entity Framework 5.0 генерирует из запроса сущностей. Во всем Интернете ( например) все говорят, что нужно привести объект IQuerable к объекту ObjectQuery, а затем использовать метод toTraceString() для возврата сгенерированного запроса.
Однако я продолжаю получать недопустимое исключение:
Unhandled Exception: System.InvalidCastException: Unable to cast object of type
'System.Data.Entity.Infrastructure.DbQuery`1[System.String]' to type 'System.Data.Objects.ObjectQuery'.
Каков новый способ сделать это в Entity Framework 5?
2 ответа
Решение
Вы можете просмотреть сгенерированный SQL из IQueryable, используя .ToString()
например,
var query = context.People.Where(x => x.DomainId == 1);
Console.WriteLine(query.ToString());
Вы используете SQL Server? Если это так, попробуйте использовать профилировщик. Инструменты->SQL Server Profiler в разрабатываемой версии Management Studio