Sebbene LINQ e il suo motore di traduzione in SQL siano molto potenti, a volte capita di dover scrivere direttamente codice SQL per motivi prestazionali o perchè è più semplice scrivere la query in SQL che in LINQ. In quesi casi torna in aiuto il metodo FromSql del DbSet. Questo metodo accetta in input una query SQL che viene eseguita sul server e che viene mappata direttamente sul tipo del DbSet.
var people = context.People .FromSql("SELECT * FROM dbo.Person") .ToList();
Questa query estrae tutte le persone e le mappa verso il tipo Person che è il tipo del DbSet People.
Questo metodo accetta anche parametri con la stessa sintassi dello String.Format.
var people = context.People .FromSql("SELECT * FROM dbo.Person where id = {0}", 10) .ToList();
Sebbene la sintassi possa ingannare, in realtà Entity Framework Core non usa lo String.Format, bensì converte il tutto in un normale parametro così da evitare qualunque problema di SqlInjection.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Limitare le richieste lato server con l'interactive routing di Blazor 8
Eseguire operazioni con timeout in React
Miglioramenti agli screen reader e al contrasto in Angular
Short-circuiting della Pipeline in ASP.NET Core
Installare le Web App site extension tramite una pipeline di Azure DevOps
Utilizzare database e servizi con gli add-on di Container App
Sfruttare lo streaming di una chiamata Http da Blazor
Utilizzare la libreria Benchmark.NET per misurare le performance
Creare form tipizzati con Angular
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Paginare i risultati con QuickGrid in Blazor
Utilizzare politiche di resiliency con Azure Container App