Calling procedimiento almacenado con parámetros
Tengo un procedimiento almacenado que devuelve un valor, no un conjunto de datos, y tengo problemas para que funcione con EF4.
He visto esto:http: //dotnet.dzone.com/news/how-retrieve-stored-procedur
sto es lo que hice: agregué un procedimiento al modelo e importé una función.
El primer problema que tuve fue el hecho de que los parámetros en mi procedimiento se nombran como@_Parameter_in
. Eso hizo que EF los trajera comop_Parameter_in
porque no funcionaría con un guión bajo como primer carácter. Luego, cuando llamé al procedimiento almacenado, puedo ver en la llamada del Analizador de SQL que busca@p_Parameter_in
, y por supuesto hubo un problema con eso.
Ahora cambié el nombre de los parámetros y busqué en SQL Trace: todo se ve y funciona muy bien. El problema es que no puedo sacar el valor. Así es como se ve mi código:
System.Data.Objects.ObjectParameter newKey = new System.Data.Objects.ObjectParameter("NewKey_out", typeof(Int32));
newKey.Value = 0;
context.GetNextSurrogateKey_v2("tTest", newKey);
Después de llamar anewKey.Value
, siempre es 0 o el valor que le puse. No devuelve el valor. Sospecho que mi problema es cómo importo la función. Yo uso Scalars y tipo de datosInt32
. "Crear nuevo tipo complejo" está deshabilitado para mí por alguna razón. ¿Alguien tuvo ese problema?