2011-09-26 13 views
8

Possedere un'applicazione ASP.NET molto grande per la creazione di casi di test UI automatizzati, parte della parte finale di questo caso di test è rimuovere l'utente appena creato (quindi manteniamo gli stessi dettagli ogni singolo test eseguito e si aspettano gli stessi risultati, nessun dato cambierà.) e così ho preso una stored procedure per fare questo.Tipo di ritorno non valido per una stored procedure mappata

L'SP funziona correttamente in SQL, l'ha testato. Ora l'abbiamo mappato in LINQ2SQL. Tuttavia, quando viene eseguito, viene visualizzato:

System.InvalidOperationException: 'System.Void' non è un tipo di ritorno valido per un metodo di stored procedure mappato.

La linea di fondo è che il mio SP non ha un tipo di reso, non lo voglio.

risposta

13

Per impostazione predefinita, la corretta esecuzione di una stored procedure restituirà il valore numerico 0.

Si può cambiare il tipo di ritorno per la mappatura LINQ2SQL a int? Se non ti interessa il valore restituito, puoi semplicemente ignorarlo.

+0

Avevo un problema simile e volevo restituire un DATETIME dalla mia stored procedure. Seguendo le istruzioni su [msdn] (https://msdn.microsoft.com/en-us/library/bb399357 (v = vs.110) .aspx), sono arrivato ad avere questo errore. La chiave era di cambiare il mio call mapping a questo: '[FunctionAttribute (Name =" dbo.GetMyDate ", IsComposable = true)] [ritorno: Parametro (DbType =" DATETIME ")]' –

Problemi correlati