2010-06-04 9 views
17

Actualicé mi Modelo con mi procedimiento Almacenado y en el navegador de modelos puedo ver que también tiene una función de importación.
Mi SP inserta un registro si ninguno existe y devuelve un 1 else devuelve 0, bastante simple, creo.Cómo usar el parámetro OutPut en SP con EF 4.0

SP

CREATE PROCEDURE [dbo].[User_UpdateMessage] 
(
@UserId int = 0, 
@UserId2 int = 0, 
@Success bit = 0 OUTPUT 
) 
AS 
BEGIN 
SET NOCOUNT ON; 

IF NOT EXISTS (SELECT [UserIdFrom] FROM [dbo].[MessageUpdate] WHERE [UserIdFrom] = @UserId AND [UserIdTo] = @UserId2) 
BEGIN 
    INSERT INTO [dbo].[MessageUpdate] ([UserIdFrom], [UserIdTo]) 
    VALUES (@UserId, @UserId2) 
    SELECT @Success = 1; 
END 
ELSE 
    SELECT @Success = 0; 
END 

En mi código que estoy llamando el SP:

// Output Parameter 
System.Data.Objects.ObjectParameter paramSuccess1 = 
new System.Data.Objects.ObjectParameter("Success", typeof(byte)); 
_Entity.User_UpdateMessage(id, userId, paramSuccess1); 

Está fallando durante la ejecución del SP con el siguiente error:

The data reader returned by the store data provider does not have enough columns for the query requested

[ACTUALIZACIÓN]
Mientras escribía esto, resolví el problema. En el Diseñador de modelos, el tipo de devolución no debería ser ninguno, lo tenía para devolver Byte.

Una respuesta a esta pregunta podría ser más mejoras o cambios.

+0

yo también tienen el mismo problema que enfrenta .... sacaste alguna idea. – Ramakrishnan

Respuesta

14

Yo también tuve el mismo problema, cambié el tipo de devolución a NINGUNO en lugar de int32. Gracias me salvó horas de depuración

+2

Puede hacer este Navegador de modelos> Importaciones de funciones> hacer clic en propiedades de cualquier función importar> luego seleccionar el tipo de retorno 'Ninguna' –

0

Trate de usar esta por debajo ..

// Output Parameter 
System.Data.Objects.ObjectParameter paramSuccess1 = 
    new System.Data.Objects.ObjectParameter("Success", typeof(bool)); 
_Entity.User_UpdateMessage(id, userId, paramSuccess1); 
Cuestiones relacionadas