Это ошибка в Profiler или Entity Framework?

Это ошибка в Profiler или Entity Framework?

Использование Entity Framework 4 с хранимыми процедурами и SQL Server 2008 SP1... При запуске SQL Server Profiler (шаблон TSQL_SPs) строки, которые показывают вызов моей хранимой процедуры и ее операторы, говорят, что они выполнены в DatabaseID = 1 (Master), но на самом деле это происходит в моей базе данных приложения (ID = 8). Процедуры выполняются правильно и возвращают данные, и они существуют только в моей базе данных приложения, так почему же Profiler отмечает эти строки как находящиеся в Master? Это ошибка в Profiler? Это ошибка в EF4?

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

ОБНОВЛЯТЬ: Я проверил это на новой установке SQL Server 2008 R2, и она по-прежнему отображает это так, как будто это произошло в Master.

ОБНОВЛЕНИЕ 2: Это было зарегистрировано в Connect вhttps://connect.microsoft.com/SQLServer/feedback/details/572246/profiler-reports-ef4-queries-as-occurring-in-master.

решение1

Изучил обходной путь отОлаф Тиннемейер на StackOverflow: ИзменениеMultipleActiveResultSetsопция в строке подключения дляЛОЖЬзаставляет Profiler правильно сообщать о выполнении запроса в базе данных приложения.

Я по-прежнему считаю, что это ошибка SQL 2008, но пока могу обойтись и этим обходным решением.

Связанный контент