sql >> Base de Datos >  >> RDS >> Sqlserver

EF Function Import no reconoce las columnas devueltas por StoredProc

Después de buscar furiosamente en Google, encontré la respuesta:EF4 - El procedimiento almacenado seleccionado no devuelve columnas

EF no puede obtener metadatos de un proceso almacenado que usa consultas dinámicas o tablas temporales. La solución fue crear manualmente el tipo devuelto complejo O poner

SET FMTONLY OFF

en mi definición de proceso almacenada. El peligro con la segunda opción, por supuesto, es que el proceso almacenado se ejecutará cuando Visual Studio ejecute la llamada de metadatos, por lo que idealmente solo se usaría si el procedimiento almacenado no cambia nada.

ACTUALIZACIÓN:una alternativa es asegurarse de que el procedimiento almacenado realmente funcione. Otra cosa que podría hacer es crear un procedimiento almacenado ficticio que devuelva las columnas que desea, enlazarlo y luego hacer la lógica real.