как я могу узнать, какой T-SQ выполняется?

#tsql #entity-framework-5 #asenumerable

#tsql #entity-framework-5 #как нечисляемый

Вопрос:

У меня есть это:

 List<Personal> lstPersonal = dbContext.Personal.Select(x => new
                    {
                        IDPersonal = x.IDPersonal,
                        Nombre = x.Nombre
                    }).AsEnumerable().Select(x => new Personal
                    {
                        IDPersonal = x.IDPersonal,
                        Nombre = x.Nombre
                    }).ToList();
 

Я хотел бы знать, как я могу узнать T-SQL, который отправляется в базу данных. Я знаю, что если я использую IQueriable, я могу использовать toString, например, чтобы узнать запрос, но в этом случае я не знаю, как это сделать.

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

Спасибо.

Комментарии:

1. У вас есть SQL Server Management Studio ? Если да , перейдите в меню Tools->SQL Server Profiler . Вы можете выбрать базу данных для мониторинга и фильтрации содержимого в соответствии с вашими предпочтениями.

2. Спасибо. Если вы ответите на вопрос, я могу отметить ваш ответ.

Ответ №1:

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

Он поставляется вместе со студией управления SQL Server, откуда вы можете запустить его, перейдя в меню Tools , а затем выбрав SQL Server Profiler ; конечно, его также можно запустить независимо. (Но кто это делает? : D)