Usare Entity Framework con stored procedure il cui risultato non viene interpretato correttamente

di Stefano Mostarda, in LINQ,

A volte capita che quando importiamo nel file edmx delle stored procedure particolarmente complesse, questo non sia in grado di capirne il risultato e quindi genera dei complex type che non corrispondono. In questi casi riceviamo un'eccezione in fase di esecuzione del codice.
Per assicurarci che il designer interpreti correttamente il risultato, dobbiamo modificare la stored procedure così da fornire all'esterno i dati necessari. Questo possiamo farlo mettendo come prima istruzione della stored procedure una query fake, ma che viene interpretata dal designer di Entity Framework come risultato della stored procedure.

IF 1 = 2 BEGIN
    SELECT
        cast(null as int) as Id, 
        cast(null as varchar(max)) as Descrizione, 
    where
  1 = 2  
END

Una volta aggiunta questo codice all'inizio della stored procedure, il designer di Entity Framework considererà come risultato della stored procedure una lista di record con i campi Id e Descrizione.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi