19 messaggi dal 04 maggio 2014
Buongiorno ragazzi,
sto lavorando con MVC 5 e linq e ho un eccezione sulla chiamata ad una stored procedure. Cerco di spiegarmi:
ho creato un model su una tabella e una sp che restituisce un record con un numero e messaggio di errore, il risultato è mappato in una classe ResultSP con le due proprietà.
inoltre ho creato una classe errodb con 3 proprieta':
-errorMsg: mappato sulla colonna errorMsg del record restituito
-errorNumber: mappato sulla colonna errorNumber del record restituito
-NomeFunzione: il valore viene passato nel costruttore della classe e restituito con get

la classe errorDB viene ereditata dalla classe result che passa al costruttore bese il nome della sp che si sta per chiamare.

Quando viene eseguita la sp ricevo l'errore:
il membro NomeFunzione di tipo ErrorDB non fa parte del mapping del tipo ResultSP. Verificare se il membro è la radice di una gerarchia di ereditarietà.

vi riporto l'esempio

class ErrorDB
{
string _nomefunzione;
public ErrorDB(nomefunzione){
_nomefunzione=nomefunzione
}

mapping delle colonne errormsg e errornumber
public string NomeFunzione {get{return _nomefunzione}}
}

class ResultSP: ErrorDB
{
public ResultSP():base("inserimento utente")
{}
}

public class UtenteDataContext: Linq.DataContext
{
..............
[FunctionAttribute(Name="inserimento_utente")]
public ISingleResult<ResultSP> inserimento_utente(lista parametri in input)
{
IExecuteResult res = this.ExecuteMethodCall(.....) //qui scatta l'eccezione
return (( ISingleResult<ResultSP>)(return.returnValue)
}
}

Potete darmi una mano?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
prova ad aggiungere un setter pubblico alla proprietà NomeFunzione. Se funziona, prova a renderlo privato.

ciao,
Moreno
Modificato da BrightSoul il 31 ottobre 2016 17.13 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.