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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire stili a livello di libreria in Angular
Creare alias per tipi generici e tuple in C#
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Sfruttare al massimo i topic space di Event Grid MQTT
Introduzione alle Container Queries
Cambiare la chiave di partizionamento di Azure Cosmos DB
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Selettore CSS :has() e i suoi casi d'uso avanzati
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Collegare applicazioni server e client con .NET Aspire