¿Es esto un error en Profiler o Entity Framework?

¿Es esto un error en Profiler o Entity Framework?

Usando Entity Framework 4 con procedimientos almacenados y SQL Server 2008 SP1... Al ejecutar SQL Server Profiler (plantilla TSQL_SPs), las líneas que muestran mi llamada a procedimiento almacenado y sus declaraciones dicen que se ejecutaron en DatabaseID = 1 (Maestro) pero es realmente sucede en la base de datos de mi aplicación (ID = 8). Los procedimientos se ejecutan correctamente y devuelven los datos, y solo existen en la base de datos de mi aplicación, entonces, ¿por qué Profiler marca esas líneas como en Master? ¿Es esto un error en Profiler? ¿Es un error en EF4?

Tenga en cuenta que al ejecutar el mismo código en una instancia de SQL 2000, Profiler muestra correctamente el ID de la base de datos de la aplicación.

ACTUALIZAR: He probado esto en una nueva instalación de SQL Server 2008 R2 y todavía muestra esto como si hubiera sucedido en Master.

ACTUALIZACIÓN 2: Esto se ha registrado en Connect enhttps://connect.microsoft.com/SQLServer/feedback/details/572246/profiler-reports-ef4-queries-as-occurring-in-master.

Respuesta1

Aprendí una solución alternativa deOlaf Tinnemeyer en StackOverflow: Cambiando elMúltiples conjuntos de resultados activosopción en la cadena de conexión paraFALSOhace que Profiler informe correctamente que la consulta se está ejecutando en la base de datos de la aplicación.

Sigo pensando que esto es un error en SQL 2008, pero por ahora puedo vivir con la solución alternativa.

información relacionada