#c# #performance #entity-framework-4.1 #profiling #usage-statistics
#c# #Производительность #entity-framework-4.1 #профилирование #использование-статистика
Вопрос:
Я разрабатываю пользовательскую систему управления контентом на C # (SQL Server 2005) для своей организации, которая работает в основном на Entity Framework 4.1. Я хотел бы получить некоторое представление о том, как работает мое приложение, особенно когда речь идет о моих запросах EF.
То, что я ищу, — это способ отслеживать количество, скорость и фактическое выполнение (переведенный SQL) запросов, выполняемых в течение заданного периода времени. По сути, я хотел бы добавить функциональность профилирования БД в свое приложение.
Если это вообще возможно, я бы сделал это без реализации пользовательского кода мониторинга для каждой из моих функций репозитория.
Мой вопрос заключается в следующем:
Каков самый простой способ контролировать вход / выход запросов Entity Framework. Я хотел бы получить следующие данные:
- Список запросов, выполненных в течение периода времени профилирования
- Для каждого запроса я хотел бы видеть время выполнения и фактический SQL
- Если возможно, размер результата для каждого запроса также был бы полезен
Комментарии:
1. Разве вы не можете просто использовать SQL Profiler?
Ответ №1:
Вы можете использовать существующий инструмент, такой как профилировщик EF Rhinos в режиме гибернации.
Комментарии:
1. Я определенно могу использовать профилировщик EF, но я бы предпочел обрабатывать этот код, чтобы я мог возвращать результаты через веб-службу.
2. @munroan — Вы можете экспортировать результаты профилировщика и импортировать в базу данных или для использования в веб-службе.